I've found a strange behavior, but I'm not sure if it is exactly the same as yours. So I need you to confirm it.
I enabled this option:
I've created a product with 3 inventories, and first I've tested it by setting the 'test c' (in the screenshot) shipping class in all the inventories, and then I set to inventory 1 'test a', and to inventory 2 'test b'. And the shipping value was exactly the same in both cases: 32: 10*3 of shipping and 2 of the cost). Which is incorrect as it should be 12, but I would like to know if you are experimenting the same issue as me in order to keep investigating.
Please, let me know.