Just a little suggestion. I start my pups on a martingale lead. Some pups pull their head "away" from the handler and get used to moving that way on lead. The martingale seems to keep them straighter.
I guess from my horse training days I use the following lead training with my pups. It has worked for me, straight down and back in the ring.
I work them between a barrier and myself, fence if you have it, tree line, stone wall, etc. I always
turn into the pup, that gets them used to being very close to my legs and they know I will not run over them. I change it up a lot as we progress with out the barrier, turns left and right, circles large and small. I watch people work their dogs for the show ring and they just stick with the down and back.
Dog gets bored, stops paying attention to the handler and pulls against them. Watch the Labs in the ring at Westminster this year. It really makes a nice dog look bad. Good luck!
Try him on lead on both your left and right sides. Yes, I know you would not do that in the show ring, but agility people train for that. If your puppy is simply responding to the lead or to your body, you should see that right away.
Try gaiting him on your right side instead. I've also gaited my dogs next to a school wall and switch sides...go down with dog on your left and switch hands to take dog up on your right keeping the wall next to the dog. I also practice backing up along the wall.