Stupid miskeying passwords. I lost a really in-depth post on this so here's the more concise version: [xx(]

When mixing two liquids of differing molecule size you're going to get a change in total volume that deviates from the theoretical. This is mostly because of differences in molecule size but partially from the differences in intermolcular forces.

Imagine you have two containers of marbles, 1L containing 2cm diamter marbles and 1L containing 1cm marbles. Mixing them into a 2L container will not fill the entire container because the smaller marbles will fill the spaces between the bigger ones. The greater the difference between the particle size, the greater the difference in total mixing volume.

The reason you're not getting a correct measurement with your calculation in your post is because you're assuming that there is 400ml of ethanol and 600ml of water in 1L of 40% v/v vodka. I don't recall the exact mixing ratio (easily found experimentally) but you're going to be closer to 660/440 water/ethanol respectively. All the 40% means is that the total volume of ethanol is 2/3 the volume of water.

This message brought to you by The Council of People Who Are Sick of Seeing More People