Ex copper here. I'm surprised so many people saying don't call police, different day and you may have had same consistency the other way iyswim. Regardless, unequivocally you not only should but you must call the police - you've been assaulted and that's not ok.
Further, fact it's DS aged just 12 makes it more important you call police now as - irrespective of where his modelling his behaviour - he IS now acting criminally. Further yet, DV (from whichever source) very very rarely does anything other than escalate unless disrupted. IE your son himself is more at risk moving forward if you do NOT call police.
They will be able to speak to him, try and understand what's going on and will be age appropriate but IME I've yet to meet the 12 year old who wasn't scared shitless by Police - 14 years old however is a whole different story so you need to act before that rubicon is crossed.
Police will be able to log as well as signposting with other agencies as clearly, yes, DS is a victim himself and also (it seems) does need other agencies involved to manage his anger/MH issues/DV mindset. Given your in a DV/EA relationship with DH and the issues each family member is facing being referred to other agencies can only be a good thing.
I know it feels like a huge thing to do but please believe me when I say it's nothing (sadly) they won't have seen before; that they will attune themselves to the dynamics pretty quickly and they will be best placed to decide what to do with your son. My honest view is you should call them to report the crime that HAS been committed and that he is dealt with accordingly (unless he goes on to reoffend, it won't be something that harms employment/Uni prospects in x years time).
Agree with everyone that DH is the issue but that does not auto-translate into meaning that anyone copying him is somehow not an issue, even a 12 year old boy who is ultimately a victim himself. Right NOW he is young enough to change but old enough to be criminally responsible - literally the perfect time to intervene before it a: gets worse; b: too late to help him; c: both he AND DD2 end up modelling their relationships on this one and then the whole generational cycle just kicks off again. Seen it over and over and on it will continue without intervention until it's DD that thinks it's ok her future OH hits her and DS's OH also finds themselves in a DV hell.
Ring 101 now to report but if at any further point today it escalates again and you are assaulted/at risk of immediate further assault then please dial 999. Please don't in any way go along with minimising his behaviour or protecting HIM from the consequences of his current actions/choices - that is what you will be doing if you don't call Police.
I know it's not easy but it (& calling WA and planning an exit) has to be done. If you're in doubt, ask yourself this - if DD got in crying and explaining she had just been hit as you were but by the bloke that lives opposite, what would you do? You'd call the Police.
Aware thats long, apologies but wanted to give you all I know about both now and the future if nothing is done in the face of a clear, violent, intentional, assault. And if DH 'tells' you you can't call Police, that would be the absoute affirmation of why you DO need to call them.
HTH and good luck 