Editor move/scale/rotate widgets for subobjects?

Sure, the AActor derived class has these declarations:

UPROPERTY(EditAnywhere, NonTransactional, meta = (Category = "Default", OverrideNativeName = "DefaultSceneRoot"))
USceneComponent* defaultSceneRoot;

UPROPERTY(EditAnywhere, NonTransactional, meta = (Category = "Default", OverrideNativeName = "Box1"))
UBoxComponent* box1;

UPROPERTY(EditAnywhere, NonTransactional, meta = (Category = "Default", OverrideNativeName = "Box2"))
UBoxComponent* box2;

And the constructor initializes them like this:

PrimaryActorTick.bCanEverTick = false;
SetActorHiddenInGame(true);
this->bIsEditorOnlyActor = true;

defaultSceneRoot = CreateDefaultSubobject<USceneComponent>(TEXT("DefaultSceneRoot"));
defaultSceneRoot->CreationMethod = EComponentCreationMethod::Native;
defaultSceneRoot->SetCanEverAffectNavigation(false);
RootComponent = defaultSceneRoot;

box1 = CreateDefaultSubobject<UBoxComponent>(TEXT("Box1"));
box1->CreationMethod = EComponentCreationMethod::Native;
box1->AttachToComponent(defaultSceneRoot, FAttachmentTransformRules::KeepRelativeTransform);
box1->SetGenerateOverlapEvents(false);
box1->SetCanEverAffectNavigation(false);
box1->SetCollisionProfileName(FName(TEXT("NoCollision")));
box1->SetWorldLocation({100, 100, 0});

box2 = CreateDefaultSubobject<UBoxComponent>(TEXT("Box2"));
box2->CreationMethod = EComponentCreationMethod::Native;
box2->AttachToComponent(defaultSceneRoot, FAttachmentTransformRules::KeepRelativeTransform);
box2->SetGenerateOverlapEvents(false);
box2->SetCanEverAffectNavigation(false);
box2->SetCollisionProfileName(FName(TEXT("NoCollision")));
box2->SetWorldLocation({ 100, -100, 0 });

I only get an adjustment widget on that defaultSceneRoot component…