So if a green card holder said "I can see why people support Hamas" should he be expelled? When does just talking about a situation turn into "endorsement" or "support"?
That’s part of the problem here. The federal government can decide by fiat that you did a bad thing before you applied for a green card and then deport you based on that.
They can also say you did a bad thing after and revoke your green card, although it’s a bit more paperwork to do so and requires a higher up to sign off on it (in this recent case, the Secretary of State himself).
I’m not aware of any country that provides blanket free speech for noncitizens.
We used to be a unique country when it came to free speech. No reason why it shouldn't be provided to noncitizens too, imo. We let our enemies pump news and media into our country because we believe the people actually run the country.