If you want to construct your subobject directly in your actor’s constructor, use AActor::CreateDefaultSubobject instead of AActor::NewObject. To learn more about object creation in UE, see the UObject Creation documentation.
i think NewObject could fail on the construction because it may not have a valid world/outer etc?
dont call NewObject plus AddReplicatedSubObject inside the constructor, there is no channel yet so the add call has nothing to attach to. for constructor time use CreateDefaultSubobject, and for runtime objects do the NewObject plus add in BeginPlay or later after the actor has a connection. also remove before you re add if you recreate it.