Ah, the joys of 4 year old boys.... it can be pretty frustrating. I think you hit it on the nose when you said "I know some of this is typical behavior, but I don't think a lot of it is." Four year olds are all about testing the limits, which is fine- it's how they learn. However, some of what you are describing sounds like it's coming from somewhere else. I would start by looking at the daycare more closely. When a child starts berating themselves and seems to be unusally upset over mistakes, I would wonder where they are picking that up. Talk to some of the folks at the daycare, tell them what you are seeing, and see what you can find out. Hopefully it isn't one of the daycare providers, but it could be that there is another child exhibiting these behaviors and your son is mimicing him/her.
My son is also in a super hyper mode right now- he's very verbal, and it seems like he just can't switch off sometimes...

The hitting and throwing when he is frustrated might be good to address with him by trying to help him find a way to express how he is feeling without those actions (but do tell him you are not OK with those actions). You might say "Wow, it seems like you are feeling really frustrated. It's not OK to throw things when you are frustrated, but it's always OK to talk to me about it. Would you like some help?", or, "I can see how frustrated you are. Hitting your brother isn't an OK way to say your frustrated, you need to use words. Now, what would help you feel better?" See if you can't initiate some ways for him to work with you to develop the skills he needs in this kind of situation.
It sounds to me like the main 'problem' your son has, is that he is 4 and doesn't know how to deal with everything he is feeling right now. If your husbands' main means of self-expression is yelling (unfortunately many men do this), your kids aren't going to learn how to express thier feelings in a positive way from his example. So, it's going to be up to you to help guide them and model for them how it's done. Tell him when *you* are frustrated for example, and talk to him about how you work through it. He'll start to catch on, and will slow down I bet. Remember, with kids, *everything* is a 'phase'!
Good luck!