I feel for the mother. Yesterday afternoon I had to help my sister manhandle my nephew who has most definite SEN and mental health issues, who was the same age as the child the question here, to carry him home. I had my own daughter, four, and my other niece, same age, who we had to leave by a gate, to run after my nephew who, also like the OP's scenario, was running off and behaving dangerously, trying to throw himself in front of cars.
We did not shout at him or hurt him, but I've got no doubt that we had a lot of judgment from other parents about how we had to hold him between us to walk him home. Thankfully I was there, my sister would have been unable to get him home by herself, and if she had, I've got no doubt that she would effectively had to have dragged him home.
This is something she deals with everyday. No one offered to help us, and the school, are sympathetic but do not see the worst of his meltdowns. Someone above said that being hit by a car would have been the lesser of two evils... that's just nonsense, being hit by a car would have had the potential to kill my nephew, and the poor girl in OP's post, being dragged home would not have done.
None of us can say whether or not how the mother behaved was proportional because we weren't there, but I agree with others, that your first instinct should have been to offer to help not judgement. You could still have reported afterwards, the mother might be thankful of others being able to her up with the school/social, but a bit of compassion, wouldn't have gone amiss.