You hit on a key topic when you mentioned that he is academically advanced. His boredom might explain some of his behaviors. To a child, any attention is better than no attention at all. If you want the behavior to change, you'll need to effectively use positive and negative consequences. A positive consequence will increase the chance of a behavior happening. For example, if your son receives a good report from school one day, he can pick out a special treat for a snack. A negative consequence will decrease the chance of a behavior happening. If your son receives a bad report from school he loses a privilege. Administering consequences is more than just giving a punishment; it's a time for parents to teach their children why they are receiving a good/bad consequence for what specific behavior.
Keep your consequences age appropriate, relevant and immediate. Above all, be consistent. While it takes time, stick with your strategy, and you will see changes. Talk with your son’s teachers about how they can participate.
The good news is you know that your son has the ability to behave himself, and what a compliment to have people telling you that! Not all parents have that same experience with their little ones.