It is the intended way to show like that since you did not change the specifiers of the property you were trying to set. You tried to make the RootComponent a default subobject, which by default, is not able to be edited by BP. The specifiers are the things that make anything in code able to do certain things in the editor. The same thing will happen if you just make a default subobject and attach it to the RootComponent, rather than setting it.
While EditAnywhere is still correct based on its description in the documentation, VisibleAnywhere gets you the same results to edit defaults for components, looking like the normal way the editor displays the info in the details panel.
The main difference comes in when you make the Actor itself a variable in another UObject. It displays the component with it being Editable even in the level editor, which is usually too much information and clutters what you actually need from that Actor as a variable.
