When a Blueprint is based off of a class that has its root component defined in C++, any components added to an individual instance of a blueprint reset their hierarchy so that they are always attached to the root component when they are deselected. This does not occur if the root component is defined in the blueprint itself.
Regression?: No
This also happens in 4.16
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-54940 in the post.