OK this was a simple error on my behalf. I haven't used mail merge with CRM before and therefore wasn't aware of the Send Marketing Mail field, which was not set for all of our contacts, meaning know one was in the list.
So in fact the values were being passed over all along, but mail merge excludes people who don't have the marketing option set to true. Makes sense!