Poor you 😔 the 4 month sleep regression was horrendous for us. They are exhausted but just won't sleep, will they?
I see you've tried many methods to get him to sleep - have you ever tried bouncing on an exercise ball? That is my go-to to get my little one down. You can also try 'habit stacking' where you associate one thing with going to sleep - either singing the same song, patting them bum, stroking their head etc. It does take a while but they will eventually catch on and that can help.
That is a long wake window for a 4 month old. I wonder if you could take him into a dark room and do some quiet play with him once you hit 2 hours and see if it helps wind him down enough for you to try getting him down for a nap sooner. Even quiet time is better than nothing - at least you're reducing the stimulation so hopefully he relaxes a bit?
And embrace contact naps. Mine will only sleep on me. It was SO frustrating at first, it made me so resentful and angry. But now I see it as my relaxing time - I get a glass of water and set up Netflix on my iPad. Maybe a few biscuits. It's my time to recharge too, even if it's only a 30-40 minute nap.
If you're feeling angry, by all means, put him down for a bit. He will feed off your emotions so keeping hold of him when you're feeling like that won't do any good. But crying it out (long-term) is super damaging, especially for a baby so young.
Someone also recommended co-sleeping after his 5am wake up. I wonder if you brought him into your bed at around 4-4:30am he would maybe sleep through that 5am wake up if he's in contact with you. It could be worth a try.
I hope it gets better. He could pass this regression in a few weeks and it'll all change though. It won't last forever, just keep telling yourself that!