The problem is that the principal made a subjective judgment ( possibly insulting) not one based on the policy. If he had simply said the shirt was not allowed because it violated the policy then you would be right. Since he made a value judgment outside of policy then he's in the wrong.
Up to the School Board to review.