UPROPERTY member vars reset to NULL by ObjectInitializer

Hi, guys.

I’m facing the same problem in UE 5.0.3.
The base C++ class is working properly, but if I inherit a bluprint from the base C++ class, then the properties of child actors are reset to default values.
The study of the code in the debugger showed that at first the properties of child actors are loaded correctly - this can be seen if override virtual PostLoad() method of the child actors. But then the child actors are recreated again several times, and after first recreation their properties are reset to default values.

Perhaps it has something to do with world partition or level streaming.

Also, I noticed that the child actors have the bNeedsRecreate flag set in the PostLoad() method.

I have been trying to solve this problem for several days.
Using TWeakObjectPtr doesn’t help.
Marking properties as private, BlueprintReadOnly and VisibleAnywhere also doesn’t helps.

I specifically installed the engine version 4.27 to see, how it nativize a similar bluprint to C++ code, and found an interesting moment there - setting the flags when creating new object:

ABP_ConnectableSplineConnection_C__pf3944188905::StaticClass()->GetDefaultObject();
auto __Local__7 = NewObject<ABP_ConnectableSplineConnection_C__pf3944188905>(InDynamicClass, ABP_ConnectableSplineConnection_C__pf3944188905::StaticClass(), TEXT("BP_TestBlueprint2_GEN_VARIABLE_BP_TestBlueprint2_C_CAT"), (EObjectFlags)0x00280029);
InDynamicClass->MiscConvertedSubobjects.Add(__Local__7);
auto& __Local__8 = (*(AccessPrivateProperty<EActorUpdateOverlapsMethod >((__Local__7), AActor::__PPO__DefaultUpdateOverlapsMethodDuringLevelStreaming() )));
__Local__8 = EActorUpdateOverlapsMethod::OnlyUpdateMovable;

I haven’t figured out which flags are being set yet.