There's also supposed to be a distinction about intent to leave in a relatively short predetermined time period.
I consider myself an expat in New Zealand, because I'm on a ~2 year visa that cannot be extended, and I have no particular intent to try to transfer to a different visa.
If I'd been here the same amount of time, in the same job, but on a straight to residency visa I intended to convert to PR/Citizenship, I would be an immigrant.
I agree with you, but some don't; I lived in Cambodia for a while, and there were/are "ex-pats" living there with Khmer wives and children, who speak perfect Khmer, work in Cambodian companies, have been there for 20+ years, and still refer to themselves as "ex-pats".
But I think this is might be cultural about the host country. Cambodia is blatantly racist, "Cambodia is for the Khmer people" is a thing there. Any non-Khmer immigrant will never be considered Cambodian, always a "barang"(foreigner) no matter how long they live there. This isn't true of NZ, who would happily consider you a Kiwi if you got the citizenship and lived there for a while, no matter your race or origin country.