I am sure many of those socalled 'Bengali' in Karachi are not actually Bengali but Bihari. Both Bengali and Bihari in karachi speak Urdu. Came from the same destination. Even in Bangladesh, one can not distinguish between a Bengali and Bihari, if that Bihari person speak Bengali. So how come native Pakistanis are able to distinguish who is Bengali and who is Bihari when both speak Urdu? I am sure, most of these ''3 million Bengali' in Karachi are actually Bihari.
Before 1971, half a million Bengalis lived in West pakistan. After the war, they became stranded and held hostage by Pakistani govt. Many of them then escaped to Afghanistan and Iran to came back in Bangladesh. After 1974 treaty, most of those half a million stranded Bengali returned to Bangladesh. They were not lured by Pakistani ''prosperity'' to stay back. So, it sound ridiculous that after their return a new wave of Bangladeshi gone there in millions of number despite Pakistan became a distant, alien country.