The term "expat" is indeed a leftover from British colonial times, when you look at things objectively. People who define themselves as expats are typically some sort of migrant for economic reasons, exactly the same as somebody coming from, say, Ethiopia; they just have enough money and culture to escape the label.
If we really want to look for something that differentiates expats from regular migrants, we'll find that it is a certain obstinacy to not "go native", to maintain a separatedness from the local culture even after years or decades. Which is, again, a typically colonialistic mindset.