Both Mozambique and Angola were in the throes of civil war for decades up until the 1990's when change came to the RSA. People migrated to avoid starvation and war. There were jobs in the RSA. Not good jobs, but in Angola, Namibia and Mozambique there were no jobs and a bloody civil war which was sustained by aid from the Apartheid government of the RSA.
Things have improved in all the other Southern African nations, except for Zimbabwe.
Botswana is almost entirely a Black nation, and has done quite well, with a parliamentary government and regular elections. This was helped by the discovery of several diamond mines, which are controlled by the national government.
I do not know what the immigration statistics are. I imagine that the figures are inaccurate, as people simply immigrate by stepping across the border. It is no longer necessary for every Black in the RSA to carry an internal passport (passbook). People from Mozambique, Lesotho, Swaziland and elsewhere tend to migrate to those parts of the RSA where others speak their language. The borders were not drawn up to reflect ethnic groups. The Boers and the English each grabbed as much land with valuable resources they could control, pushing the locals off the lands they wanted, and hiring whomever they wished for cheap labor.