I also did this, where if she got to fast I would ask for the walk, if she dosent go into the walk after I ask twice. The I make her hault, back up a couple paces, wait for a good hault or lick and chew. Then trot on again if she got to forward again I would repeat. After a couple times she relized that if she was going to take over I mad her do something els.
Or if none of that works you can try the circles again, If he dosent get a nice steady pace... Then disengage him make him wait. Then walk on and if that dosent work and he still wants to go forward and take over. Then make him work! Say ok if you want to go lets really work. And continue a good forward trot not like blasting around in a crazy trot but under control and make him move more forward through his hind so he is really pushing from behind. Then he'll be like this is no fun and want to stop but keep pushing and say no were going to work...
I did all that with my mare and she dosent take over any more and she isnt before my aids.
You can also do a lot of transitions but I wouldnt try the canter until you get the trot better.