I think I’m going to be in the minority here, but I think the priest did the right thing in denying him communion and I wish more priests would do this.
Depending on the conversation the priest had with your son, it sounds like your so deliberately disobeyed the priest.
You say the priest told him not to serve. Yet, your son deliberately went out to serve anyway, after the priest told him not to.
Unless there was some misunderstanding, it sounds like your son was deliberately disobedient to the priest right before Mass.
Your son broke the Fourth Commandment right before Mass started.
In this situation, the priest was 100% correct to withhold communion - NOT as a form of punishment, but to protect your son from sacrilege.
If I’m reading your post correctly, your son arguably broke the Fourth Commandment TWICE, right in front of the priest. Once by disobeying his father and second by disobeying the priest.
So again, this was not really a form of punishment, but a PROTECTION from him committing a serious mortal sin.
I would highly recommend that you take your to son to confession before the next mass.
God bless!