We know a child who's been very difficult. Not as physical as yours, but many huge tantrums, rude language, hitting parents. He's 5 now and still the same.
The issue for him is his parents. Mum has anxiety so never follows through with any discipline. There's always an excuse or quite literally just turns away so she "doesn't see" it. She's weak in her approach.
The dad is similar. When child was younger the dad would laugh when child was rude. He thought it was cute.
As the child's gotten older, it's become unenjoyable to be in their company. It's hard to stand by and watch him be rude to others with no consequences.
OP - this is the time to act. Be serious, be present and be strict. He can't teach himself, that's your job. When he hits, you hold his wrist, speak loudly and deeply "no, don't do that. If I see you hit again, we will be leaving". And if he does it again "no. I told you not to hit. I warned you we would leave. We are leaving". Then leave.
When making playdates, let parents know in advance it may be short as you're trialling a new way of disciplining to try to improve his behaviour so you may have to shoot if he's persistently naughty. Be honest with people and you may find they don't mind meeting again. So long as their child is safeguarded from harm.
I know it doesn't feel nice to have your child cry, but surely better that than him have no nice friends at school. (My friend's son has a few friends despite being a little s**t but he's friends with the other naughty kids so not a great situation).
And no, I don't think they do always grow out of it organically. Big hugs, no easy.