Anything will work. It’s just a simple struct. There’s no reason why a WorldSubsystem or what not wouldn’t work. You can use the GameInstance but that exists for the lifetime of the application I believe. If that works for you, then go for it.
Just remember:
// In C/C++ declaring an object works like such
// <Type> <VariableName>
int MyInt;
float MyFloat;
FProfileStruct MyStruct; // FProfileStruct is the TYPE of object, MyStruct is the actual object/variable.