I am so sorry you are dealing with this, especially with a 4 year old who needs you during the day!
My older DD was a night owl and I finally decided to let her stay up until 11-12 when she was finally tired enough to go to sleep. By 9 pm. I was exhausted and despite the fact that I hate using TV as a "babysitter", I started turning on Sprout while she had a snack and watched the good night show, lol. I have to admit that we often ended up watching the final lullaby and singing it together.
She also slept in our bed because it was easier.
I also made sure I checked for teething and gave her motrin when I saw molars coming in because that definitely kept her up and I don't blame her, I know I'm miserable if I have a toothache or headache and don't take something to get rid of it!
(homeopathic things never worked for her and I tried them all before resorting to motrin)
So here is how our sleep schedule then changed...
Watching the good night show then going to bed around 11-12. At first she woke up once to nurse but then that stopped. After only a little while, she started sleeping later and later and then usually ending up getting up in the morning at about 9:30-10 am.
I would get up by 7 and that gave me at least 6 hours of sleep plus free time to exercise (also important for my sanity!) and do stuff on my own before she woke up.
She took a 2-3 hour nap from about 2:30-5 or 5:30 every day.
So many people told me that I needed to put her to bed earlier and that she would not adjust to getting up on time for school and that it was a crazy sleep schedule, especially because of the late nap, but it never worked to do that!
When she was 3, she started a 2 day a week preschool that began at 9:30. It was a little hard to get her going and wake her up by 9 but it was only 2 days a week and she loved the school.
At 4 years old, she went 3 days a week and adjusted well to the 9 am wake up time even while still staying up until 10-11 pm by then.
She also continued the late nap time.
The summer before kindergarten I started getting her up by 9 and then 8 every day and her nap got earlier and shorter and by the time school started she was fine waking up by 7:30 to get to school by 8 am (all day kindergarten). She was tired the first few weeks but they had a rest time in the afternoon and she slept there for a couple months, eventually transitioning to no nap and an earlier bed time with no TV at all.
Every child is different, some are more inclined to stay up late and some are early birds, just like adults and you need to do what works for you no matter what other people say.
She is a great sleeper now, goes to sleep right away (still a little later than most kids, 9-9:30 pm) and never wakes up at night.
My suggestion is to let nap time get later and be as long as he wants to sleep and don't worry about it. Then he will stay up later with no problem and hopefully sleep better and longer.
Some kids refuse to go by our schedule but hopefully you can find one that works for him and gets you a much longer chunk of sleep because sleep deprivation is no joke, it affects every aspect of your life.
Good luck, I hope things work better soon!