I get zero results for the locative Lesbi in the HP corpus (the results appear to be all genitives), but I find a handful of in Lesbo.
The same applies to a locative Euboeae, in favour of in Euboea.
The locative Rhodi, on the other hand, is common, commoner than in Rhodo, which seems to be limited to Plinius.
Rhodus did contain several major settlements in Antiquity, but the capital was Rhodus from ca. 408 BC. So it appears that the Wikipaedian rule is wrong; your first rule (a) is wrong too, since the island contained more than one major settlement; but your second rule (b) may be true, the island and its capital sharing a name.
There is one thing to consider: perhaps every time that the locative is used, the city of Rhodus is intended, not the island, since the city is the most likely place for people to be located, especially Roman travellers or generals. If so, we may never find out. It is not easy to find a passage where we are certain that the island is meant and not the city.
Update:
It was easy to find several examples of the locative Cretae, so I'm afraid even uncontestedly 'large' islands can have the locative case. Below a few examples, found through the HP corpus:
Sed ne illud quidem pertinet ad agricolas, quando et in qua regione primum natae sunt, utrum in Thessalia sub Aristaeo, an in insula Cea, ut scribit Euhemerus, an Erechthei temporibus in monte Hymetio, ut Eu<p>hronius, an Cretae Saturni temporibus, ut Nicander; ...
— Columella, De Re Rustica 9.2.4.4.
Loeb translation:
"But it does not even concern husbandmen when and in what country bees first came into existence, whether in Thessaly under Aristaeus, or in the island of Cea, as Euhemerus writes, or on Mount Hymettus in the time of Erechtheus, as Euthronius says, or in Crete in the time of Saturn, as Nicander says."
It is not a genitive here, because it is "the times of Saturn", and "the times of Saturn of Crete" does not make sense: bees may have come into existence in or on Crete, so it is a locative.
... Non haec tibi litora suasit
Delius aut Cretae iussit considere Apollo.
— Vergilius, Aeneis 3.162.
Translation by M. Wifstrand Schiebe (2009):
"Not these the shores the Delian Apollo counselled, not in Crete did
he bid you settle."
Consido does not take a dative according to Lewis & Short, so it can't be a dative. Perhaps aut [litora] Cretae could be reconstructed, but I think the locative makes much more sense, if only because a poet is expected to take liberties with rules of grammar.
non magis quam quid ita siluestres capreas Cretae genitas tantopere dilexerit
— Valerius Maximus, Facta et Dicta Memorabilia 1.8(ext).18.7.
The Loeb translation:
"Why does Nature favour the wild goats born on Crete so much?"
The participle genitas "born" requires a modifier: the goats have to be born in some way or somewhere. Silvestres is too far back, and only Cretae seems to be able to fulfil that role. Perhaps genitus can be constructed with a dative, "born to Crete"; but I believe words like natus normally express the origin of birth in an ablative. Lewis & Short mention the ablative for the origin of genitus, and also give examples with a and e, as expected. They don't mention a dative. So I don't think a dative is possible. The same applies a fortiori to a genitive. A locative seems by far the best reading.