What wonderful responses so far! I agree with Page about active modeling (my interpretation). You sound like a very attuned and loving mama and I don't think your son is acting this way because of parenting issues. He's confident so kudo's to you for helping him learn self pride! It can be too much though so the idea of guidance is a good one.
When I was a nanny the 4 year old had similar self confidence, though would get upset or hurt with social ramifications. What I did was have one hour out of every day we called the "do good" hour. We would have the hour set up for selfless acts. It was difficult at first because developmentally early childhood is all about ego! But we actually had fun with the challenges.
Stage one: I would exaggerate how difficult it was, which always made him laugh. Then he would exaggerate how difficult it was for him, which made us both laugh. This helped with awareness and showed all people struggle with selflessness.
Stage two: we came up with ideas of how to share and give without the recipient knowing it was him who did the kind deed. This game helped him experience the joy because it was a 'game'. Part of the game was seeing how long he could wait before telling them he did the nice thing so it was fun to see him all smiling and antsy to say 'it was me! I did it!'.
Stage three: we came up with a game designed to identify nice things others did for him. During this time each day we would write it down on a small peice of construction paper (different shapes and colors). We also identified nice things he did for others and wrote them down. Every week we would make an art project that would visually reflect how he and others gave. You can also set it up for the papers to look like dinosaur's and trucks and other fun things specific to what your son likes.
Last stage: once a week the parents would have the hour dedicated to things like putting change in soda machines for strangers to find or things like that. They would then talk about what sorts of fun things another little boy or girl could do with the extra $.
Not sure if this will help...it's more of a long term solution and while it seemed to work beautifully for the little boy I nannied, I will disclose I made it up so don't know how it will work (if at all) for other children. Neither the parents or myself at the time wanted to focus on the negatives because while the overconfidence was obnoxious, we didn't want to dampen the confidence so much as help direct it in more positive ways. We would redirect him if he was rude and ask him if he could think of a nicer way to say something. We would help him identify times when he needed a break from a stressful situation. And we would let him know if he said or did something hurtful then guide him on how to repair.
****Edit note: we also went out of our way to express appreciation for kindness from him or sharing or even if we noticed he was intentionally being patient. We didn't overdo this because too much praise for normal expected things is not helpful for children, but we did strive to make sure he experienced positive effects from positive social behaviors.
Sorry so long! Not sure if this helps much but it really did work well for the little boy I nannied for (gosh, he's now 20 years old!!!).
You sound like such a loving mama...I'm sure whatever you do will work out well. Part of it really is a developmental stage so know it won't last forever with the right supports and loving guidance:)