My son is nearly 4 and has slept through the night probably 10 times in his life
I have come to accept that is his sleeping pattern. He has a lot of nightmares and at the moment he wakes up around 1-2 times to go for a wee, sometimes on top of the nightmare waking
When he was around 2 1/2 we had an 11 day marathon where he would scream and scream and not want to go to bed and wake up every hour. For 11 days it went on before I finally went to the doctor who gave me some sedation for him
It was a couple of months later he was able to put into words he was scared of his room he was scared of 'the man' in his room. Scared the pants of us but he picked up a photo of my recently passed dad and said 'thats the man'
My point is we don't always know what is causing our little ones to wake and not want to sleep but it is just our lack of understanding.
Be patient and stay strong.
He was also getting out of bed around 4/5 in the morning thinking it was time to get up.
I bought an app that is on his ipad of a bear that goes to sleep and it has become part of his bedtime routine.
The bed sleeps and if my son wakes in the morning and the bear is asleep he knows he's not allowed to get out of bed and has to go back to sleep. Toddler sleep trainer it's called. doesn't keep him asleep but at least keeps him in bed early in the morning.