I don't think these are morally defensible distinctions. I've long had problems with the idea that you can have a "freedom of speech" which does not provide protection against retaliation, and does not provide a corresponding obligation to hear. However, I do think that an employer could reasonably fire someone for holding views the employer doesn't care for. After all, the employment relationship is a relationship -- if one individual cannot maintain the relationship due to some feature of one of the people in the relationship, then there seems to be good reason to end the relationship. This is not to say one should only enter relationships with entirely like-minded people, but that everyone has a limit on the divergence from their own views that they are willing to tolerate in people they relate to. That is, for every individual person, there are some views that the person finds "beyond the pale" and intolerable in a spouse, a friend, a co-worker, an employee -- or, for that matter, an employer. (Would it be wrong for an employee to quit a job because his employer espoused racist views?) This looks like a pretty basic feature of human relationships.
So, really: where's the oppression if an employer decides that an employee is no longer a "good fit"?