I definitely feel for you, and good on you for persevering with him even though you’ve come off a few times. I know how hard that is! I bought a new horse about 3 weeks ago, and I had this problem as well at the start. Out on the trail he would be fine at the walk/trot, but when I would ask him to canter, down went the head and off with the bucking!
I didn’t use the one rein stop, because I am a bit like you, when you do it from a canter it really unbalances the horse (in my experience anyway) and it really unbalances me! First thing, I didn’t let him stop. Stopping/slowing is a reward in its own way, as they get to do less work. Each time his head went down, I would hold one rein tight and pull release with the other, to bring his head up, and drive drive drive with my legs! I would also growl at him, ‘get out of it!’ is my favourite phrase… The first few times I was actually booting him to get him forward and out of the buck, but after that I just had to bring his head up and drive and he would be fine. The way I see it, a horse physically can’t do much more than hump its back if it has its head higher than it’s shoulder and is moving forward. By doing this he learnt that he doesn’t get out of work by bucking, he is driven into the canter. My horse was doing it because he was excited… He has only ever done slow, long rein work in an arena, and to be out on a trail with contact on his mouth and horses in front proved very exciting! He has already dropped the habit now, and I have only had him 3 weeks. So it’s maybe worth a try, if it sounds like it might work with your boy.