How much physical activity Is he getting during the day?
Children this age need a lot of really active play during the day. This means, running jumping, yelling, climbing peddling...really in day care they are outside at least 1 hr in the morning, but more like an hour and a half. Again in the afternoon.
Your son has so much energy you would be amazed at how he could stay outside all day if he had friends and enough outdoor equipment.
Get on to his really active play, concentrate this week and see if it helps. everyday, outside for an hour or hour and a half in the morning and again the afternoon.
The nightmares are normal. Very intelligent children tend to have very vivid dreams. They are very detailed and very realistic.
Do you all know about dream coins? To me and you they look like quarters, but when placed under his pillow they become a powerful talisman that will keep the bad dreams away. Tell him about them and give him 1 or 2 to try.
My mom also taught me that when you have a bad dream, if you will turn to your other side, the bad dream will not come back. Tell your son, to try it. He will be amazed.
He really is growing out of "nap time" he should try "quiet time"
. The way this works is he can either stay in his bed or make a palate on the floor. As long as he is quiet and stays in his bed or on the palette, he does not have to take a nap.
I suggest you make the room as quiet as possible, as dark and cool as possible. Play quiet music or a sound machine. If he has played for that hour and a half, had a nice hearty lunch and wiped down with a warm wash cloth on his face hands and feet, he will probably drift off.
Wake him quietly after an hour and a half, it may take him a few minutes to wake up, let him watch a video, then snack and another hour and a half or 2 hours of play outside.. Maybe go swimming.
After a quiet dinner, keep things calm, bathe him, place him in bed, read a few stories quietly, do not engage him in the story, ..maybe rub his back as you read.. He will conk out.
Hope this helps.