Night Mares.
This is different from Night Terrors.
Kids from this age, have Nightmares.
Overtired, yes he is.
Does he nap?
He may need it.
My son is 4 and still naps everyday, in the afternoons.
He needs it. Otherwise he turns into an overtired Troll. But he still goes to bed at a normal time, by 8:00 or 8:30.
He is not OCD.
3 year olds, do get like this.
It is a hard age.
I think, feed him healthier.
And if he is going through a growth-spurt... kids do eat frequently and do get hungry. Both my kids are like that at growth-spurts. I let them eat. I don't mind, because I don't feed them junk.
If a child, gets Hypoglycemic, their blood sugar drops. It can also cause moodiness and tantrums.
So, 'snacks' are necessary. Because it keeps the blood sugar levels, even. But instead of giving him sugar, give him other stuff.
Just ride out the sugar fixation. Explain that it is only a treat. Not an everyday thing. Do a different routine. Tell him, sugar is bad.
Or give him healthy 'sweets' like Smoothies or fruit etc.
A kid, if hungry, needs to eat or snack.
Also, yes, sleep deprivation causes problems, and at the end of the school day, a kid is just TIRED. They need to deflate. My kids are like that. They come home, I give them a snack or even another meal. They are always HUNGRY after school AND tired. That combination, makes for an OVER-tired and fussy child... because they were all day at school 'behaving' and doing things on task. So when they come home, after a long hard day at 'work'... they need to deflate. And have downtime. AND they NEED to eat.
Your child may also be a 'grazer.' Meaning, he eats a little at a time throughout the day. My son is like that. But my daughter, is the type that does eat a full hearty meal, at meal time. My Husband is a 'grazer' too.
A kid, needs to snack. Eating only 3 meals a day is not enough for them. They are very active and expend so much energy and are also growing a ton.
Have a regular night time/bedtime routine. Going to bed at 9:00pm is late. PRIOR to the actual bedtime... have a Wind-Down time. 1 hour BEFORE the actual bedtime. Make everything dark. Make things quiet. Make things calm. No horseplay before bed. Kids this age need to deflate... before bed. PRIOR to the actual bedtime. So that they can "Transition" to bedtime.
That is what I do with my kids.
No kid will instantly fall asleep, as soon as the lie down. PREP for bedtime, BEFORE bedtime. Making the house, quiet/calm/dark. To allow the child to wind-down. First.