I have a ship with retracting drone bays (entity docked to mothership). Drones are stored in these bays for mining and combat (Drones dock to the bays). When the pickup point on the drone bay is registered as the pickup area for the drone, it stores the pickup area coordinates relative to the drone bay core instead of the mothership core.
When the Carrier Recall command is issued, the drones try to return to the coordinates that were stored, but the drone will navigate relative to the main ship core and not the drone bay core (where the coordinates were registered from). This causes the drone to "dock" in a completely wrong position.
My suggestion is: Whenever a pickup area is registered, to recursively look up the docked entity chain adding the core offsets (accounting for core orientation) until the fleet mothership is reached.