Shakespeare lived in the 1600s, which means: In the early days of British Colonialism. This must have been a most exciting age. An age in which people gave up everything the were and had and exchanged it for a new start in unknown parts which were generally perceived as virgin territory (maybe, apart from the obvious reference to the Virgin Queen Elizabeth I. one of the reasons for the naming of Virginia). This perception was of course wrong, and the people in Shakespeare’s time knew this; after all, the numerous contacts with native Americans and their very different outcomes were reported back to London.
But despite all this, colonialism or even the colonies play a marginal role at best. When Shakespeare needs exotic settings he usually resorts to Italy (and the Meditarranean), as is also the case in the Tempest. Maybe this is, because Shakespeare was highly original in his use and (re-)creation of language, but far less so in his invention of plots. Most of his plots were stolen (»are based on...«) Roman and/or Renaissance Italian models. And so it is that The Tempest, which is generally regarded as his most colonial play is set in the Mediterranean and populated with Italians and the son of a witch. Even Tunisians (Moors) are only mentioned in passing.
Still, The Tempest can indeed be interpreted as Colonial play, but with the caveat that it shows no interest at all in the colonial subjects (be they British or native) or the land as such. It is a sort of philosophical experiment on the relations between different groups with different claims to the same country. It is centered on power politics, not on ethnographic or geograpghic interests. And under these conditions it really does not matter where the play is set. Although: Caliban as son of a witch, with a name that anagrams to canibal, certainly makes it clear that the native inhabitantis barbaric whereas the new (and apparently: rightful) Lord is civilised.
To me, the play clearly shows a colonial mindset, but that does not make it a colonial play.