Traditionally, best ENG middle order batsmen used to bat at 4, while in AUS & WIN, at No. 3. Cricket in South Asia came from ENG, therefore here also tradition is that best middle order batsman bats at 4. I think, main reason for that is ENG had been historically tougher place for top 3, therefore of they (or Counties) used to put 3 openers at top 3. Ranji, Hammond, Compton, Dexter, Gower, KP - all batted at 4 for most part of their career. In that regard, I think Root should bat at 4 instead of 3.
Putting Mo at 3 is a silly call, as I mentioned just before AUS tour (last Ashes). He has massive weakness against short ball and he isn't a guy who would keep leaving balls until fast bowlers are tired. 7 is perfect spot for him. If he is to bat at top, I think it's better to open with him instead of those 2 walking wickets and allow a young middle order to bat at 3.
Mo didn't deserve to be dropped in ENG Tests - his stats in ENG are excellent after 29 Tests. Around 1600 runs at 38 and 91 wickets at 32, with 3/8 - 50/100 & 4/1 - 5/10for.