S.,
You are not overreacting. You should go to the school and ask to talk to the administration (principal) and report exactly what your son told you. It is better for things like this to be discussed in person rather than on the phone or through e-mail. Although it is normally best policy to go to the teacher first in most cases, in this situation, the incident took place outside the teacher's classroom, and it is a bigger, school-wide issue that must be addressed appropriately by the administration.
It could start something like this---"When I picked my son up from school yesterday, he had an ice pack on his head, and when I asked him why, he told me......" Then just report what you stated in your question. Tell the principal, "I'm telling you this because I think it is the responsible thing to do, in order to help ensure that something like this doesn't happen again and that no other child gets seriously hurt." Try to remain emotionally neutral (even though you have every right to be angry and upset) and emphasize your belief in doing the responsible thing by reporting this.
You could also add something like, "I'm wondering what your school policy is regarding supervision during non-classroom activities such as assemblies?" and "how many staff will be supervising non-classroom activities, such as assemblies, in the future?"
Thankfully, your son did not get seriously hurt, and I hope the school will be receptive to what you have to say so that no one gets put in that kind of position in the future.
Best to you and your family,
J. F.