Closest in English would be Immigrant.
Its an Islamic term/word. A Muhajir is a person who does Hijrat(immigrates) in the name of Islam. Prophet was a Muhajir too as he did Hijrat from Makkah to Madina when situation became difficult there and people of Madina welcomed him with open arms. People of Madina were called 'Ansar' aka hosts.
Muhajir per se is not a bad word, infact, it is good word and throughout in history for centuries people have proudly called themselves as Muhajirs.
Now, coming to Pak, Muhajirs here are the people who immigrated from India to Pak. Their grand kids sometimes call themselves Mohajirs when technically they are not(their grand parents were). Some/many don't refer to themselves as Muhajirs. Same thing goes from Non Muhajirs to Muhajirs. The other name for them is Urdu speakers which is most commonly used. Though, not all the people who immigrated classify Urdu as their first language, for example, Memons etc.