I’m not sure if this is the reason, but as a programmer I’d say it’s probably a performance thing. Every time a parent transform changes, you need to go down the hierarchy and update all of the children. Every time a child transform is updated, you need to go up the hierarchy and update the parent’s bounds (I’m talking in general; I don’t know if that’s exactly what UE is doing). It’s not a huge cost, but with lots of dynamic objects, it adds up; especially if the hierarchies are unnecessarily complicated.
I’ve never really found it to be much of an issue though - if I need to offset a component, it’s easy enough to add a scene component as the root beforehand. Personally, I’d rather add something when I need it than remove it when I don’t; but I suppose it depends on which is more common.