Technically there's none. People claiming that immigration is permanent. No it isn't there are seasonal immigrants. And all immigrants keep their original nationality (they become citizens when they get a new one).
Meaning comes from the way we use a term, and you can notice that because immigration has a negative connotation it is used when speaking about someone coming from a poorer country. While expat is used for the opposite.
An immigrant is typically somebody who moves abroad permanently to a specific place to establish a new life. An expat is typically somebody whose move is short term, or they may move from place to place, with the continued identification of home as where they were originally from.
So an immigrant permanently leaves India and comes to the U.S. to find a better life and intends to stay. They will intend for their children to assimilate and become Americans.
An American expat goes to India for their job, and expects to move back home in a few year, or maybe continue on to a new country. As such, they may mostly stick to communities of Americans or expats, send their kids to Western style schools, etc.
An expat is an immigrant with no intention of integrating into the host country... and white skin.
The above is about 50% tongue-in-cheek.
Expat is a broader term, referring to anyone living outside of their native country.
An immigrant is specifically a person who has moved out of their native country to live permanently in another.
I am an expat. I am also an immigrant.
The difference is in fact one of perspective. An expat is somebody who has left your country to live in another -- "expat" is pretty much synonymous with "emigrant". An immigrant is somebody who has arrived from a foreign country to live in your country.
So, as a Brit living in Germany, I am an expat from the British point of view, and an immigrant from the German point of view.
An Expat keeps the citizenship of their native country and has closer ties to it than an immigrant to a new country who at some point in the process will be forced to forfeit their original citizenship to take on the new one.