There is a similar thing in Slovene (and other Slavic languages), whereby certain place names take the preposition "na" (lit. "on/at"), while most take the preposition "v" ("in"). The most interesting example, perhaps, is with the city of Vienna, which in Slovene is called Dunaj, a name that comes from the old Slavic name of the Danube River. So one says, e.g. Živijo v Berlinu ("They live in Berlin") but Živijo na Dunaju ("They live in Vienna"). With the latter, the original idea was that one was saying, "They live on the Danube", which obviously meant in the capital of the empire.
I remember my flatmate saying, "I genitori vivoni nella Basilicata", for example, which is definitely different to "Andiamo in Calabria" ... I did go gome with her to Pollino for Christmas one year, though I didn't go to Calabria the following summer.