Reusable collection of components

I tried make some components in c++ with child components attached (created in the constructor), it worked fine but the hierarchy in the outliner is wrong (the components should be under janney coupler).

But it seem to keep the correct relative positions, so it might just be a bug?

UJanneyCouplerComponent::UJanneyCouplerComponent()
{
	PrimaryComponentTick.bCanEverTick = true;

	InitSphereRadius(75.0f);
	SetCollisionObjectType(ECollisionChannel::ECC_GameTraceChannel3);
	SetCollisionProfileName(TEXT("TrainCoupler"));
	bShouldCollideWhenPlacing = true;

	CouplerMeshComponent = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Coupler Mesh"));
	CouplerMeshComponent->SetupAttachment(this);

	CouplerJawMeshComponent = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Coupler Jaw Mesh"));
	CouplerJawMeshComponent->SetupAttachment(CouplerMeshComponent, TEXT("Pivot"));
	CouplerJawMeshComponent->SetRelativeRotation(JawOpenRotation);
	
	CouplerAudioComponent = CreateDefaultSubobject<UAudioComponent>(TEXT("Coupler Audio"));
	CouplerAudioComponent->SetupAttachment(CouplerMeshComponent, TEXT("Pivot"));
	CouplerAudioComponent->bAutoActivate = false;

	CouplerReleaseAudioComponent = CreateDefaultSubobject<UAudioComponent>(TEXT("Coupler Release Audio"));
	CouplerReleaseAudioComponent->SetupAttachment(CouplerMeshComponent, TEXT("Pivot"));
	CouplerReleaseAudioComponent->bAutoActivate = false;
}