K.M.
If I let my 3yo (just turned 3) nap, he's up until at least 10pm. If he doesn't nap, he's in bed by 6:30-7pm.
He probably doesn't need that much sleep now that he's close to 4. So if he naps, try putting him down at 8:30-9pm instead of 7-8. That's still 12.5-13 hours of total sleep per day, which seems pretty right for someone his age.
You could try shortening his nap to 30 min. I do that with my DS sometimes, and he's in bed a little earlier, around 9:30pm.
If you skip his nap, there's no reason not to let him go to bed at 6-6:30pm. He will surprise you and still sleep until 7:30am! It may take a little bit of getting used to though. If he's overtired, then he might wake up early.