The Urdu speaking people who migrated from India, by default spoke Urdu - the name Urdu Speaking says it all. Many of those who migrated from India and not only Urdu specking populace, and also those who populated areas which were included in Pakistan, in early days, could read, write and speak Hindi. Not many now.
Mughals did not call Hindi as Urdu.
Urdu, is a derivative of Turkish word Ordu, which means Army or Lashkar. At certain stages, Urdu was also known as Lashkari language. As the Muslim Armies included soldiers from different hues and spoke different languages, a need for a common language was necessitated. It thus emerged as a common language and at certain time, a bit of Khariboli dialect also became part of it. Even now, in the modern format, Urdu includes over 7000 common Turkish words. It also have words from Persian, Pashto, Arabic etc.