Respuesta :
probably because Arab traders brought Islam to the islands 100 years ago
The reason why there are more Muslims in the island nations of Southern Africa than on the mainland of the region, is because the islands were where the Muslims had their influence, not the mainland.
The Muslim traders, explorers, merchants, the missionaries, were all having their influence on the places where they present. Those places, in this part of the world, were the islands east of the Southern African mainland. The populations on these islands was small, and the Muslims were very powerful, so they did not had any problem in spreading the Islam over the inhabitants on the islands. On the mainland, even though they didn't really tried, even if they did, they were going to have a lot of problems, as the population was much bigger, and the people much more hostile.