You're right. Most property owned by Federal and State governments are Constitution-Free zones. They should have a sign over their doors stating, "Abandon all rights, Ye who enter these gates."
HOWEVER the reaction of the principle is actionable. There was no southern flag dress code. This particular girl was singled out on that particular day.
It is also worth asking who was sponsoring this event. It may have been "the prom" but these are usually financed by the students, organized by the students, and hosted someplace off school grounds. (do they even do proms in the gym any more?)
Kids will now figure out ways around this principles pettiness. She will wear a red dress, he will wear a blue tux and each have a star pin or some such double meaning fashion attire.