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.
IMO we should keep `SubCell.FullCell` (as it is indeed the cell that is full, and not just the SubCell), but I agree with the others.