I say to my boy you can come into my room in the morning/sun comes up. He definitely understands but consistency is so important. It won't take long to make the change. I also make excuses to leave his room, "I just need to get xxx"
We've always had to cuddle our daughter to sleep, she used to co-sleep with me until she turned 2. She still wakes during the night and comes in to our room to get one of us, we end up sleeping in her bed for the rest of the night.
Sacrifice that one or two night encouraging and putting him back to bed. It will be worth it. I had the same issue until my son gave in as I kept sticking to the change.
Maybe shorten nap and push back bedtime to build enough sleep pressure for him to sleep
I know you’ve said you don’t have it in you to be putting him back to bed but that’s what it’s going to take in order to get your sleep back. He’s built a habit that he wakes and comes into your bed. You need to break it which will mean placing him back into his bed until he learns that you’re not going to give in and that’s where he needs to sleep. Kids this age thrive in routine so create a lovely bedtime routine that involves a little chatting, bedtime stories, cuddles etc. a good trick is making their room super inviting to sleep in. Could you maybe buy some Christmas themed bedding and make him all excited about his own bed. Then any wake ups it’s just consistency, using the same phrase but as little as possible talking and return to his bed. Good luck!! Hope you manage to regain your bed back!! 🤞🏻