S.H.
Does your son, have good communication skills about expressing his feelings and knows that he can tell you? Teach him how to speak... in a palatable way. These things have to be taught. It is not instinct in a child.
Maybe he is just a pent-up little boy?
Next: my son who is 5... was really being obstinate one day. Instead of getting upset, I asked him why, he was being that way. He told me... it was because I did not say "please...." as I told him to do something. He further explained, that it is real important to him, that "please" is said... when being told to do something. Of which, saying "please" is often forgotten in a string of requests, that we make of our child everyday. He did not feel "respected."
And that... was in a nutshell, what would then, make him just not want to cooperate.
So by asking my son "why" he is being like that.... I "learned" FROM him... what was bothering him. Because I bothered to ask. And I allow him... to express himself to me... not scolding him for certain feelings or clarifications.
Anyway, that is one light-bulb moment I recently had with my son.
Who, is very independent minded.
Now that I remember to say "please" when telling him to do something... he is not being a fighting Bull.... in response.
It was about respect... for him.