Fixed UnloadCargo stacking using new subcell API exposure

Partially supersedes #6083, Cargo.SpawnPassengers will have to wait for my Exit refactoring and discussion on how unloading while being sold should be handled.
Minor style nit: Could we have this as `OffsetOfSubCell` to be consistent with the other methods?