Getting someone fired for saying shit you find deeply offensive is not a betrayal of the principle of Freedom of Speech.
Something that everyone needs to keep in mind is the first amendment is a legal concept in place to stop THE GOVERNMENT from restricting speech, meaning they can't put you in jail for speech. Regular citizens, on the other hand, also have the right of free association, meaning they can remove people from their property for any reason, including speech. A company has every right to fire someone for bringing them bad PR. Otherwise youd go into a store and the cashier could tell every customer to eat shit and they wouldn't be able to fire them, which is not a world anyone wants.
The 1st Amendment also protects freedom of association. Which means not wanting to be associated with idiots is a 1st Amendment right as well.
Unfortunately, that part of the right has been gutted over the years.
The problem with cancel culture isn't when two parties don't want to be associated. It's when an outside force causes that state by interference. "Fire them or else," is issue. And it's a moral issue, not a legal one.
Freedom of association has been dead since the civil rights acts.