The right to free speech is a limited right. There are hundreds if not thousands of examples of organizations disciplining their employees for comments they have made -- even while not speaking as representatives of that organization.
Since it is political speech that reflects a personal opinion, I don't agree with the school's decision to do this, but they are well within their legal rights to do so.
Public schools are public actors and can NOT limit political speech by it’s employees off campus whether they think it is crass or not.
You have made the key distinction. Private organizations/companies can dole out discipline as they see fit. The government, however, cannot carte blanch punish someone for exercising their right to free speech. The man didn't trash the principal, or the teachers or the students or anything related to the school or his job. The school will be sued and will lose. More taxpayer money down the drain because of the acts of liberals.