Poor you
My 17 mo DD who used to sleep until 7 or 7.30am is now waking at 5.30am and it's soooo exhausting!
Your DS is older though so what's happening with him may be completely different to my DD.
I have been thinking about it a lot and doing lots of research and I think that for her it has been the transition from 2 naps to 1. She has been refusing her afternoon nap and so is exhausted when she goes to bed. On the off chance that she falls asleep in the car in the afternoon, she'll often sleep until 7pm. So I'm working on pushing the morning nap from what was 10.30am to get it closer to midday so the afternoon isn't as long.
Also, if she's really tired, I put her to bed ASAP (usually 6pm) or if not but 6.30pm at the latest. I also found that a later bedtime made no difference and meant she was even worse the next day.
My DH was going in at 5.30am and reading her books to keep her quiet so I could get more sleep, but we've now decided that wake-up time is 6.30am and leave her there to call out unless she is really distressed in which case we will go in, but will not get her up. I also find PU/PD or WI/WO do not work at this time because she is still tired, but not tired enough to go back to sleep IYKWIM.
Good luck!