If you're riding a 58 cm road bike, a MTB in the 19-20" range would be about right. Don't worry about the MTB's longer top tube. That's because you'll generally be using a shorter stem and flat MTB bars don't have any forward reach to the lever hoods. Think about it--on a road bike, with your hands on the hoods, they are 7-9 cm ahead of the stem.
You'll probably still be sitting more upright on the MTB than your road bike anyway. And if you find that you've got too much weight on your wrists, don't hesitate to slide the saddle back, and lower it a bit, before feeling compelled to purchase taller riser stems.