What fixed my problem is calling [FONT=courier new]MyActorComponent->RegisterComponent() after creating it in UMyStaticMeshComponent constructor.
UMyStaticMeshComponent::UMyStaticMeshComponent()
{
MyActorComponent = CreateDefaultSubobject<UMyActorComponent>(TEXT("MyActorComponent"));
MyActorComponent->RegisterComponent(); // << This helped
}
Though I still don’t understand how come it works when building UMyStaticMeshComponent in constructor with CreateDefaultSubobject and doesn’t work when building it with NewObject<UMyStaticMeshComponent>.