The way you frame this is important. You seem to think that if there was no lunch, they would finish at lunchtime. But that doesn't appear to be the case
In the company, its clearly a working daym instead of stayinf in the office all day, he takes them for something to eat. If the meal wasnt something they did, he would likely be actually in the office in the afternoon instead.
Its not a choice between spend the afternoon at home and spending it having a meal with colleagues. It's having a meal with colleagues or working in the office.
If time off at Christmas is a massive deal to your family and will be when you want to come to the UK for Christmas and he can't book it off, it's not the job for him and he needs to look for something else. It's really that simple.
Christmas is something I always enquire about at a prospective employers. Because its important to me.
My employer has 2 days a year where they take everyone out, people from other offices can attend and they pay for hotels. Its all expenses paid from taxis to drink. Anyone who doesn't want to attend can work instead or take the day annual leave.
If I really objected to either having to work alone or be forced to take annual leave or attend the event, I would just need to look for a new job.
But also you seem to be completely ignoring your husbands role in this. He drank too much. He left at 5pm. O am sure he cod have left earlier. It's October and he hasn't tried to book it off or resolve it at all.
I suspect he does think it's a bit of a pain, but really enjoys it also and wants to attend.