All across these portuguese courses there are sometimes ,,a, o / the" and ,,um, uma / a" words. Sometimes they are missing, sometimes not, but there is no rule, We cannot always guess whether it is demanded ,,a/the" or ,,um/uma" in the example or not. There is just no rule for it, someone wrote it as he liked and now we have the outcome.
I feel like too often in the U.S., calling someone "a foreigner" has a pejorative connotation. "All these **** foreigners coming here to take our jobs." I do not believe that the same link exists with describing someone simply as "foreign," except this is uncommon because you would most likely be using that person's specific national origin, i.e. "She is German."
"My uncle's wife is a foreigner" - sounds ignorant at best...
"My uncle's wife is foreign." - rarely used, because if you are not ignorant then you would probably know what country the person is actually from.
"My uncle's wife is Croatian." - the correct option, fill in the blank with the appropriate nationality.
Just because there is no "uma" in the sentence, doesn't mean that you can leave it out, when you translate it to english. So, to me, "my uncle's wife is foreigner" sounds a bit like tarzan talk... you definitely need a "a" in there! or use the other possible sentence: "my uncle's wife is foreign"! Although, to me, "my uncle's wife is a foreigner" comes a lot more naturally!