Is hard to find a set, agreed and absolute definition of an ex-pat, so it isn't necessarily true that all British ex-pats are working for British companies (any more than it is true that everyone born and still living in the UK works for a British company). If you get a job with an American company in 2010, and in 2015 they ask you to do a 5 year stint in Milan, you are certainly an ex pat while in Italy... Most ex-pats have probably moved with an international company though - I wonder if having a local contract makes you not an ex pat...
There is an interesting article here which suggests it is about freedom of movement - ex pats move freely between countries and own high status passports which allow them that privilege, migrants require a lot of paperwork to move between countries.
Extrapolated from that is the unpleasant snob value attached to being an ex pat (with a high status passport) and corresponding negative associations some people have with the word migrant/ immigrant, and I can see why that can be off putting and make some people want to do away with the term ex pat altogether, but IMO the difference between being an ex-pat and emigrating hangs even more upon the definite plan to return to your country of origin rather than a firm intention to settle permanently in the new county... that distinction tends to have knock on effect in terms of whether property is retained in the UK and belongings left in storage, whether children go to international or UK boarding or local state schools, and who trailing spouses and children mainly socialise and make friends with, what extent the local language (if not English) is learnt, exactly where in the host country the family set up home, how often they return to their country of origin to visit etc. etc.
IMO an ex pat remains largely rooted in the country of origin, where an emigrant throws themselves fully into putting down roots in the new country because they plan to make it their permanent home - even if plans (for either group) end up changing due to unforeseen events later.
Migrant is a blanket term which covers dozens of scenarios, from asylum seekers and refugees and other "forced migrants" to those moving fully of their own volition due to pull factors rather than push factors - emigrants seeking a better life style on a permanent basis, emigrants moving because they have met and married somebody from another country, and ex pats people working overseas for a fairly short portion of their life (after all 15 years is still not the majority of an average 80 year lifespan).
I don't think of myself as an ex pat because I married somebody from another country and live in his home country with no particular plan to return to the UK (but I wouldn't want to give up the option to return any more than most people, regardless of country of origin, want to actually exile themselves) , but I do think that ex pats are totally different to UK emigrants/ host country immigrants because they firmly view their country of origin as their permanent home, and themselves as living away from home rather than having adopted a new home country.