Dhoni's answer will simply be "Uthappa doesn't somehow fit in the scheme of things in the Indian side", much like "Pandey is a little too raw to play for India".
Uthappa's record under Dravid:
13 innings , 409 runs at a strike rate of 103.28 and an average of 34.08(usually opened the innings and was tried at number 7/6 a couple of times to see if he fits)
Uthappa's record under Dhoni:
22 innings, 377 runs at a strike rate of 82.13 and an average of 22.17
Changes in his batting position under Dhoni:
3,3,6,5,7,5,6,7,6,3,7,7,7,3,7,1,1,1,6,2,7.
Why don't we see such things happen to a Raina or Rohit? They play at a particular position for a long time and get enough chances. In fact MSD even insisted that Raina should be batting higher up the order so that he gets "more time" in the middle. Raina is not known for playing big innings, and is pretty useful down the order, he is able to score those vital 30-40 runs in quick time. But MSD wants to make him bat higher to provided him an even better opportunity despite of no consistent big scores from Raina.
I have no doubt over Raina's talent, or even Rohit. But when you pick a youngster, he deserves a few consistent chances to actually judge how good he is. There is a difference in a way a few youngsters(MSD's favorites/friends) are treated as compared to others.
Ishwar Pandey didn't get a game despite of so many occasions where he could have been tested. Pujara is been deliberately ignored for ODIs, if he does well, no slot will be left for Raina who is axed from the ODI side(and will be back in no time). Rasool also didn't get a game, he is a threat to Jadeja and Ashwin in the ODI side. Some players are shielded, given all the opportunities and stuck with while some are ignored or not handled well.