For the buddy sourness- Keep. Him. Busy. Move his feet, direct every step. Serpentines, transitions, back up, left, right, leg yields, whatever he knows. If he starts the bucking, same thing, pull his head around and move him forward. Make him work, hard. I have found that sometimes with a horse like this, popping them with a whip only makes things worse, but if you show that bucking gets them nothing but more work, you're more apt to change their mind.
For the dominance, ground work, round penning, and another dose of ground work. Lay down some basic rules (this is my space, you're not welcome in it unless I invite you, and I move your feet forward backward left and right, etc) and then build in that. Have a plan and decide in black and white what the rules are, and what happens when he breaks the rules. No, you don't need to be mean, but you do need to make him uncomfortable for 'infractions of the law' and if he isn't jumping at your requests with a 'yes'm' attitude, you're not making him uncomfortable enough. You also need to get good at your release, totally shutting off your pressure to reward him and say 'yes'. It's like immediate forgiveness, and you can't keep acting or feeling mad for the infraction he committed 4 seconds ago. Speaking of seconds, you have 3 to reward or punish for any action on his part, make them count. I'd also advise you to learn about the subtle body language a horse gives leading up to the blatant disrespect. Good luck!