Strange behavior with editable inherited c++ ActorComponents on the blueprint panels

In c++ do:
Add an actor. create an SceneComponent in its constructor and attach it to the root component. Store the pointer to this new component as a UPROPERTY on the actor with flag EditAnywhere.

go into blueprints:
Create an actor deriving from the c++ actor.
See that the SceneComponent is inherited.
Go to any panel and see that you can replace the component stored on the UPROPERTY.
Do so and you will find two inherited components on the blueprint actor.

The thing is, if you want to edit a the position of this inherited c++ SceneComponent on a blueprints panel, you have to store it as a UPROPERTY as well with a flag like VisibleAnywhere or EditAnywhere.
But… using EditAnywhere here “bricks” the blueprint panel as you will be able to replace the UPROPERTY value but not the original component, resulting in “2 inherited components”.

Why does setting bEditableWhenInherited to true on the c++ component not make it accessible on the blueprint editor, while storing it as a UPROPERTY does? Is this intended?