I will choose Dhoni as a captain in any situation because he always finds a way to win matches and in the last season they had the worst team and yet the team was able to lift themselves in the later part of the tournament after the knockout stage defeating top teams and Mumbai is always a much better team and anyone can become the best captain with a good win percentage with a team like Mumbai who has dominating bowlers and a blend of local talents who could take on any bowler.
Dhoni may be a better captain when compared to Kohli, but I don't think that he is among the best. During the last year's IPL, he insisted on including players such as Kedar Jadhav in the squad, which resulted in many losses for the CSK, in matches which they could have otherwise won easily. He was one of the best 5 years back, but not now. But then again, I have to say that he is miles ahead of Kohli. Nowadays Kohli seems to be blind and unable of rational thinking due to arrogance.