Интересный вопрос. Наверно, потому что Куба государство получило название от названия Куба острова - поэтому и получатеся двусмысленность и говорят "на".Вот с Гаити полная труба - Гаити и Доминиканская республика  находятся на одном и том же острове , но говорят "в Доминиканскую республику", но "на Гаити", хотя ни то, ни другое государство не имеет кормей от названия острова (Испаньола)