We took my oldest boy when he was four. It was really the perfect age! He loved it so much! First, we usually go late November or early December and love it! The weather is very unpredictable. One year we were in coats hats and gloves, one year we were in shorts, and one year we were in both! Temperatures can very greatly between morning and night so pack for both!
Second, a stroller is a must for us! Don't rent in the park! You will have to return it at the end of the day before you leave. One of the bigest advantages of the stroller is for late nights when you have to wait on the bus. We often enjoyed meandering through the parks and shopping while our son slept in the stroller. We would also leave the park and he would sleep through getting on and off the bus and back in his stroller so we could shop at Disney Springs late. He would be so tired by the end of the day he would sleep through anything and he is a very light sleeper!
Third, bring lots of snacks! He will get tired and overstimulated but eating every two hours or so really helps prevent major meltdowns. When anyone starts getting cranky, I immediately pull out the snacks
Forth, things won't go as you planned. You won't get everything done you wanted but take it slow and enjoy each other and the atmosphere. Christmas is such a beautiful time to visit and will put you right in the spirit!
Last, let your son watch videos on YouTube of rides or shows you are unsure he will like. That was very helpful for us!
So here is my advice for each park:
MK:
My son loved the speedway and Buzz. We spent a lot of time in tomorrowland. We let him try the barnstormer to see how he liked roller coasters and then moved on to thunder and splash mountain. He hates water so we brought ponchos for splash. He also really enjoyed the parades. We never left the parks for naps (we are park commandos!) so we would let out son sleep in the stroller while we rode rides (use riders swap). When we got tired we would ride the people mover, COP, or Hall of Presidents. We also like to take the monorail loop when we get tired
He did not like Haunted Mansion and still won't ride it.
Epcot:
We were surprised to find out that Epcot was his favorite park! This was largely because he was just tall enough for Test Track. He doesn't love trill rides but Test Track is still his all time favorite three years later. He also loved the aquarium area and Turtle Talk with Crush. There is a miniature train set near Germany that is fun to look at and we also spent time playing with the lights in the sidewalk. I think they are near where Starbucks is now but I can't remember. Another must do is tasting coke at Club Cool! My sons other favorite attraction, lol! Also make time to play in the area after the imagination ride. While it's no where near as good as it use to be, it is still fun.
HS:
Not much left to do here. Make sure to Fast Pass Toy Story and Star tours if he is tall enough. There is some Star Wars stuff that others have mentioned above we have not done yet. There is also Disney Jr. live on stage he should enjoy.
My son did not like ToT and did not really love Fantasmic! We also had to close his eyes on the Great Movie Ride during the Alien part.
AK:
Plan plenty of time for the bone yard! He loved the Lion King show but the Nemo show was about 10 minutes to long for him. It's still a great show if your some loves Nemo but mine was more into Cars got a bit board at that age. Dinosaur and It's Tough to be a Bugs are both on the scary side. Animal Kingdom is beautiful but it's a lot of walking but it can be very relaxing if you so take it slow. Don't forget to catch Rivers of Light if it is out
Sorry, I know this is a lot! I hope it helps!