Is he ever... allowed to express his feelings and vent and just deflate?
If not, teach him how to express himself and the names, for feelings.
Then, when something goes good or wrong.... "practice" with him about expressing it. Teaching HIM how to express his thoughts/feelings and how to say it and that he can say it and is allowed to.
Wrong or right.
Discern WHY he is getting upset. To an adult it is just a tantrum. But to a child... they often have a reason... and it may not be obvious to us.
And sometimes, a kid may just disagree, because they feel that, it makes no difference even if they do agree or go along with something, so then they just 'learn' to disagree. Because it makes no difference.
Teach him HOW to express his anger. Saying it, verbally. And that you are there for him. Then, when it is due to a wrong doing... apply whatever repercussion you feel will work. Logically.
He also seems pent up and frustrated. Thus he is getting angry for capricious reasons. Whenever and for whatever.
He seems to just be in a vicious cycle... about just being cantankerous.
But why?
Does he ever have just time to himself? Or just with you without the sibling? Maybe he just needs... more time for himself and not in the shadow of the sibling?
Or does he feel he has to be "perfect" all the time because he is the elder sibling by default? For some kids, this can be a lot of pressure... especially on a child that is only 4. Hence they get frustrated and always... angry. But don't know how to express that.
They need help and to know, that they still matter. Not only when they are bad.
My son is the youngest. We taught him, to SAY when he wants to be by himself or not have his older sister bother him etc. And that it is okay... for him to say so. For example. That... helped his frustration level a ton.
We taught him... that everyone is different... and that he can tell us. We do not ever expect him... to be perfect and that, he can tell us. And we are a "TEAM" about it all.
Sometimes, Elder siblings get a lot of "expectations" put upon them by the parent, just because they are the oldest.... despite their own young age. And this... frustrates them. My older daughter, when I had my son.... I told my daughter to TELL ME... whenever she felt frustrated or just anything. Once she told me "Mommy, I'm just a little kid myself, I'm not an adult..." when I was asking her to help me with her baby brother. This was MY cue, from her... that she was getting... too overloaded. And I then, re-adjusted my "expectations" of her.
And I didn't scold her for it.... it was not her fault.
A parent's "expectations" upon the Eldest, can really makes things worse or better. Per age and age stages.
Keep expectations... Age Appropriate.
Even if you are letting him punch a pillow when he is angry.... the "reason" why he is angry, is not addressed, nor is he understood. And he is not understood. And being he is so young, and does not know the words for feelings, he may not even know how to SAY, why.
Therefore, it may not work. And he will still be angry.
Do not, teach him about behavior using money.
It will teach him that money... determines things.