Changing the engine
Researching proper ways of combining meshes to make collision detection for a ship, I stumbled upon this forum thread suggesting that it's close to impossible to achieve with overlapping meshes.
However, it's relatively easy to achieve when using cannon.js, which babylon.js is using internally. Also, cannon.js and three.js integrate nicely.
So I decided to switch from babylon.js to three.js and cannon.js. And now we have same stuff as on the first step.