OP, he has been extremely rude And selfish to sleep all day, particularly when he has a child. There is no denying this.
But, as for the rest if it, the expression making a rod for your own back springs to mind. Even if he was helping you, doing all that food for two people is ridiculous.
At least he helped you wrap the presents. My DH has never wrapped anything for our DC and we have 4. This year alone, I must have wrapped over 100 items (inc stocking stuff). Every year it’s the same, but I can safely say I’ve never been up at 2am doing it. You just do it in stages.
How many presents were you wrapping?
I know it’s hard when you’re pregnant, but this is the very reason why most people just simplify. You could have gone to M&S for the food and just bunged it all in the oven, if it’s just he two of you?
Rather than slaving for 3.5 hours (!!), I think I would have just given him a kick and said, “Oi, it’s Christmas Day. Get up. We’re going out for a walk.” Or, “Wake up and put the batteries or whatever in this / play with your own daughter...” But it sounds like you were the whole day in the kitchen instead?
I don’t mean to be harsh, but there is no need for any of this really.