I don’t have a solution but wanted to say I’m experiencing the same issue. From my understanding, the component itself does move around but the slots assigned in the smart object definition don’t move. It would be a shame if this is intentional because in the screenshots explaining smart objects they show a vehicle, but who knows. This part of the documentation makes it look less promising:
Smart Object Definition exposes one or more Slots that can be used by Agents or Players for the specific Smart Object. Each Slot includes the location and rotation relative to the parent anchor (baked from editor placement), as well as several overridable properties. Common examples of overridable properties include user-required tags and specific Behavior Definition per Slot.
I don’t know if you have found a solution for this but my understanding is that the smart object creates a runtime version of itself at play. This runtime version is registered within the space partition so the SmartObjectSubsystem can find it when looking for nearby SO.
If you move your smart object you need to update the position of this runtime version accordingly and from what I can see, this has to be done manually by calling USmartObjectSubsystem::UpdateSmartObjectTransform (c++ only so far). It will update the position of the smart object in the space partition, you could do it at each tick or whenever the SO becomes available/free.