Details panel for components created by components (all in C++)

I’ve tried all these before posting, but it doesn’t solve my problem.
The difference relies only in the fact that in one case the mesh component is declared and created in the character derived class, and in the other case it is done in the component derived class

My next try was to use the ObjectInitializer from the character constructor and pass it down to the component so the sub component is created in the name of the character class, but that did not solve the problem

in MyCharacter.cpp :

AMyCharacter::AMyCharacter(const FObjectInitializer& ObjectInitializer)
	: Super(ObjectInitializer)
{
	MySceneComponentInstance = ObjectInitializer.CreateDefaultSubobject<UMySceneComponent>(this, TEXT("MySceneComponent"));
	MySceneComponentInstance->SetupAttachment(RootComponent);
	MySceneComponentInstance->CreateChildrenComponents(ObjectInitializer, this);

	MySkeletalMeshComponent = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(this, TEXT("MySkeletalMeshComponent"));
	MySkeletalMeshComponent->SetupAttachment(MySceneComponentInstance);
}

and in MySceneComponent.cpp :

void UMySceneComponent::CreateChildrenComponents(const FObjectInitializer& ObjectInitializer, UObject* parent)
{
	MySubSkeletalMeshComponent = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(parent, TEXT("MySubSkeletalMeshComponent"));
	MySubSkeletalMeshComponent->SetupAttachment(this);
	MySubSkeletalMeshComponent->bEditableWhenInherited = true;
}

Following the code, the 2 mesh components should be created exactly in the same way, but I guess the fact that the property is declared in the component is the key
I’ve tried to find a meta parameter for the property that would solve the problem, but without any luck