To me, an expat is not determined by where you come from or where you're based. It's when you're employed by a company and sent to someplace (not the point of your employment) to work in that same company (does not even matter if you get housing/ car allowance ort not)
Eg. my ex-boss is Malaysian (passport) but was interviewed and employed by the company in Geneva. He worked there for a year before they sent him to Malaysia to head the Malaysian business. In Malaysia, he was considered an expat because his original contract is from Geneva. NOW, if the company terminates his Geneva contract and starts him on a new local (Malaysian) contract, then he ceases to be an 'expat'
That's my opinion. Anyone care to share his/her views?