This sound very similar to my daughter's routine, and she's 3.75 so I would not say he is napping too long, especially given his age. Maybe just too late. My daughter does EXACTLY the same things and always has - babbles to herself before falling asleep. Well, now that she's older, you can actually understand what she is saying but a lot of times it's still nonsense - it's hilarious.
Anyway, I like for her to be asleep by 8:30 but often it's closer to 9 or 9:30. I start stories between 7 & 7:30pm and get her in the bed by 7:30-8 or so then it takes anywhere up until about 9:45 for her to fall asleep. We only go in if she specifically calls for us or to go to the bathroom (which is a frequent request I might add). She sleeps until about 7:15am as well, and then is in for a nap by 12 - and no matter how long it takes her to fall asleep we wake her at 2:30. I figure if I want her to go to sleep by 7:30 (which is in my head what should happen), she needs about 5 hrs of wake time, just like in the AM when she gets up by 7 or 7:30 and is in for nap by 12 or 12:30. She can easily sleep 2.5 hrs during nap time.
So, I agree that you should just let it be, since it doesn't sound like your daughter is really being disturbed by it. She might be tired because she is growing or something other than your son's habits bothering her.
Good luck!