I think you need counselling where you tell him about the effects of his observed behaviour on you and your children. Maybe he has an historic reason for his bad behaviour. Maybe he's a tool of the first order, but you won't know if you don't engage.
Let him have it in therapy, both barrels, the effects of his behaviour, and then see when he plans to do about it. Make a plan they he's not to moan sulk of physically be absent. That he must engage positively.
Make sure you're ready to leave if it comes to it. But I do think the spade work on your relationship has yet to be done.
Emotional honesty is essential if you're planning on staying.
If you're planning on leaving, just detach and call it quits.
If you're always spending xmas at your family, maybe go skiing, or go to Thailand to let everyone relax.
Fwiw I hate going to inlaws, even though they're nice as pie. I just find it exhausting. Shake it up and listen to what he wants for Christmas next year. Maybe it's all about the children and your family and there's no holiday for him in there?
Maybe he needs a lads' weekend to balance things out, or even a dirty weekend with you before the big Cday. Not everyone is wired for Christmas.
I think you need to talk about it and listen too.