Thank you for the reply @3dRaven. Unfortunately, what you’re showing does not address the issue. The value of the struct gets set in C++ and needs to be passed to Blueprints, but the return value of GetStruct() in Blueprints shows the default values, while the UE_LOG and breakpoints show the populated values in C++.
class UMyObject : public UObject
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, BlueprintPure)
const FMyStruct& GetStruct();
// Not a UFUNCTION because it is only used in C++.
void SetStruct(const FMyStruct&);
};