It is a truism that the more of a foreign language you learn, the more you realize that your native language makes no sense whatsoever.
Such was my case the other night when I woke up from a nap and thought about whether I was on Taiwan or in Taiwan. I thought that "In Taiwan" sounded more normal, although "On Taiwan" would not be incorrect. But then I started to reflect on this, and realized that I would say "on Sauvie Island". And this got me to thinking about where and why one word or the other would be used.
Sauvie Island is a small island at the junction of the Columbia and Willamette Rivers. Taiwan is a Nation State surrounded by ocean. Was it the, I thought,a matter of scale that determined whether you were on or in an island? I spent some minutes considering Long Island, Jersey Island, Manx Island, Ireland, Vancouver Island and other such entities, and trying to think which preposition I would normally use to describe my relation with them. Of course, that I was already thinking of this polluted my thinking, it is hard to unnaturally guess at your natural reaction. I did determine that size may have something to do with it, that an English speaker would normally use "on" to describe an island that they could see the extent of, and "in" to describe one that they couldn't.
I thought that perhaps the English use of time words was related to this. After all, in English we say "in" the month of June, but "on the 5th of the month". Presumably a trip to Taiwan would take some months, and thus you are "in Taiwan in Febuary" while you are "on Sauvie Island on Friday". This theory seemed to make some sense to me.
However, I turned my attention to other geographical features. I considered the Olympic Peninsula, which is large enough that you can't see the extant of it, and you could presumably spend some time on, would probably still be described using the word "on". "I live on the Olympic peninsula". However, if you were to speak about living in Florida, another peninsula (although quite a bit larger), you would be "in Florida". This led me back to the Olympic peninsula, and I considered that you would probably refer to yourself as living "in Kitsap County". I thought of different examples of this, and determined that abstract and political locations were usually referred to with "in", while actual, physical geographic locations are referred to with "on". This is often connected with the use of a word denoting geography. I would say I am "on the Island of Formosa", but "in the Nation of Taiwan".
Another issue, not totally related, is the issue of diffuse vs. specific locations. In English, we would live "in the Cascade Range" but "on Mount Hood". This is not always the case however: while you do live "in the desert" or "in the forest", or "in the hills"; you also live "on the plains", or as we all remember from Elementary School "on the prairie".
The best summing up we can do so far, is to say that localities that are small, specific and physical are often referred to with the preposition "on", while localities that are large, diffuse or abstract\political are referred to with the preposition "in".
Now imagine explaining that to a non-native speaker.