It's somewhere in the middle, probably. People talk about wealthy foreigners, tourists and so on "bringing money to an area" as if that money is being uniformly dumped from a helicopter onto everyone. That's never what happens. It goes into the pockets of a relatively small handful of people/businesses, those people will spend a fraction of it, and downstream people will spend another fraction, and so on. It trickles a little, but the entire community is not benefiting uniformly.
gentrification is a problem. But it's hard to truly understand a problem if all sides try to make it extreme.
What does "Portuguese people can't afford to live in major cities anymore." actually mean? Does it mean that major Portuguese cities are no longer inhabited by a majority of Portuguese citizens? Or does it mean that there are some Portuguese people who no longer cannot afford to live there and that the blame for that is the few foreigners who contributed to raising prices in such a way that the those portugues who were already poor now crossed the line and couldn't affort to live in major cities, and joined the other portuguese who already couldn't afford to live there because of other causes of wealth inequality?
EDIT: It's not just mere nitpicking; I really think actual magnitudes are important in in discussions around these topics but the public debates I see often present the problem in very broad strokes and thus inevitably end up in shouting contests by people who have very strong opinions and the rest of us just looks the other way no longer believing what is being said. I know for a fact that that gentrification is destroying europeans city centres. It's very hard to afford to live in other places like Florence, Italy too. But is it really so clear cut that it's because of tax cuts for expats? Or it's just a result of a bimodal distribution of wealth including native wealth?
There is rarely one solution or “cause” when considering something as complicated as the economy. It’s really easy for politicians to play on the fears of the masses. There seems to be a solid 20-40% of ANY country that is willing to place all blame on “the other” rather than realize it’s a complex situation. So foreigners are an easy thing to pin all issues on for a politician to gain power, and it takes a complete failure of their flawed theory to convince the population that “hmmm maybe there isn’t an easy fix” by blaming foreigners. I see this nonsense all the time in Texas.