Unfortunatly on that one I can't do a lot of thing currently. As Placement into OCAF are referred to a Shape. As a Part Container is an Assembly/Compound STEP element it can be placed only if there is a root reference ( Aka a root node which is containing the global assembly even if I call the right XCAFLocation call). So if you change the placement of a root node which is a Free Shape then that Free Shape can't contain placement information, only absolute coordinate of a shape which doesn't exist or can't be allocated to Assembly/Compound STEP element.
So the workaround is to add a root node on top of your assembly name it of your project name as an example and export your step from it, and it will work like a charm. Exactly like you mentionned it and how it was pre-implemented.
I tried some workaround by using STEP reference, but currently it doesn't work.
I will keep an eye on it, but put it as a low priority on my TODO, as I was trying to get StepUp working fine first. I just have a low priority process in my brain which try to understand how that stuff could work. I spent a lot of time reading OCAF stuff into OpenCascade source code, and trust me this is just a headache