Since issue1825 where we started to manage same locations and issue5587 where we started to manage transit location, the shipment report does not always show the right inventory moves. The inventory_moves field may be empty and the other move fields should be used in such case. For internal with transit it also depend of the state.