Because the top part of the dress is already 'finished' in that it is lined, and the lining is fully stitched in to the mid back, so it'd need to be opened from there.
It's impossible for me to simply put the raw edge to raw edge and sew a proper centre back seam at this stage. For starters, it would make too wide a garment (the garment is designed with the overlap built in, so I need the bloody designer to tell me what the overlap actually is so I can work out what to remove), but secondly because the seam allowance is already folded away and hidden in the lining for the top part of the dress, I eventually get to a point where I can't put the raw edges together any more when they meet the lining.
So I'm thinking essentially I'm going to have to redraft the whole centre back seam and only sew the lining down the back an inch or so (leave a keyhole opening as mentioned) and do a proper centre back seam. That's why I thought zip. But if I can't use a zip for a baby dress... then I guess some sort of zip guard on the inside so it doesn't rub would be easiest? Easier than trying to work out how to actually draft the back seam properly for a placket (like the designer couldn't be bothered to do, obviously).