As it is currently used in the U.S. -- primarily by the media -- the term refers to a citizen or permanent resident of one country who fights in a foreign country, pretty much as the words' natural meanings would indicate. Current usage of the term is generally reserved for people whom one might suppose would not be foreign; otherwise, emphasizing the foreignness would be pointless.
Lately, the term is most often used to refer to people who relocate from elsewhere to ISIS-held regions of Syria and Iraq to fight for ISIS. This is similar to the situation described in @Josh61's Al Jazeera quotation:
The foreign fighters label came to prominence in Iraq about 10 years ago when Coalition officers believed, incorrectly, that the "Sunni insurgency" in that country was being dominated by fighters from outside.
In that situation, the Sunnis who came from other countries to fight in support of the Iraqi Sunni insurgency were foreign to Iraq, and therefore "foreign fighters" in the literal sense. Inasmuch as the cause was essentially a local one within Iraq, one might have expected the insurgents all to be Iraqis, so the presence among them of fighters from other countries was significant (however many such fighters there actually were). Note also that those fighters were not fighting against their own countries, nor even necessarily against their countries' national interests.
Although the term's natural meaning fits other people too, such as uniformed members of a nation's armed forces conducting combat operations outside their home country, it is not typically applied to people whose foreignness (with respect to the location of the fighting) or whose fighting itself is not their most distinguishing or most relevant characteristic. Such people are typically identified by profession, cause, or both: "foreign soldiers", "Sunni fighters", or "U.S. Marines".