It feels risky to me. Coupled to the protection of freedom of religion in the US is both the interpretation of the First Amendment and the political custom that there be a "high wall" between religion and politics. In practice, this isn't always true, but the principle serves as a counterweight to people's faith not being formally, structurally questionable.
For obvious reasons, no such high wall can exist between people's politics and politics, so making political affiliation a protected class risks giving protection of the law to things that society will greatly suffer under if they are protected (imagine if he SPLC couldn't fire a staffer who's an active Klansman).
I don't know if I buy it, because the purpose of the wall is to constrain people from being punished for their beliefs, which you could do just as well with politics. That isn't the same as having their beliefs questioned in a public debate -- which we already do with religion. Questioning isn't punishment. Getting fired is punishment.
> imagine if he SPLC couldn't fire a staffer who's an active Klansman
The strongest objection to a Klansman is that they commit acts of violence. But violence isn't protected speech. If they're committing acts of violence, fire them.
Whereas if your only objection is that they go home and give sermons against interracial marriage while wearing a stupid hat, isn't that kind of the point?
How is it any different than Planned Parenthood can't fire a Catholic for opposing abortion outside of work?
Companies ought to have the right to fire people acting counter to their goals.
Interesting possibility: Religion is a protected class, politics isn't. So people fear viewpoint discrimination (i.e. getting canceled) for diverging from the dominant political party, because that isn't protected, but not for diverging from any given religious doctrine, because that is protected.
Maybe we just need to declare the political parties to be religions. In a way they are. And it's in the same way that caused religions to be protected to begin with, isn't it?