I have learned that lunging is mindless circles. Horses are easily bored when you lunge them. I understand that people lunge horses to get them to release excess energy and to warm them up, but there is a much better way. Your horse learned how strong he is and is using his trick to get out of a situation he doesn’t want to be in.
This may be a difficult task, but if you really want to fix this, which should be fixed because your horse has learned how strong he is, and you try recognize what your horse is offering and what you are portraying to him, I think that you can fix the issue.
Again, you are going to have to pay attention to what your horse is telling you. Read his body language and be on top of it. Think about this: you are watching for what happens before what happens happens. It’s difficult to follow, but that’s what you should watch for.
You do not have a round pen but do you have a small fenced in area? Not very small, but small is good, or any fenced area would work.
When your horse gets straight in the body or bent even the slightest bit away from you, he can out pull you. It seems that you understand this already from what I have read in your post. So, you want to keep him bent towards you. Now, I know that’s hard but stay with me here.
To get the bend and to get him willing to bend around and stay bent around, work with him on moving/yielding his haunches away from you. I am not sure if you are familiar with this technique, but when you apply pressure on the lead rope at a 45 degree angle away from his head, look at his hip, and walk towards his hip aggressively, ideally, he would bend his neck and step his inside hind leg in front of the other hing leg to move his hindquarters away from you. Teach him that when you ask, he should move it right away. Teach him it is not acceptable to have you there, only when you are not applying pressure is it okay for him to not move away. It is a simple maneuver, you may be able to find some videos online on establishing this.
Then teach him to yield the forequarters. When you are standing in front of him, hold the lead rope, and direct him with the lead in your hand whichever way you want him to do. As if you were guiding him, move your arm out straight. Then you are looking for him to step over in his front legs towards the direction you want him to go in. Take one step and build on it with the yielding of both the hindquarters and forequarters.
Once you can move both the hindquarters and forequarters, it’s time to move to the circle on which he will move. Move the forequarters so that he is perpendicular to you and then immediately move the hindquarters. Try it again and again letting him walk forward one step on the circle, then two, then three, while keeping the bend in his body towards you. When you see he is about to lose the bend, make him yield the hindquarters. You can make him move it away pretty fast, he should not pull on you, he should keep his head bent towards you.
This habit will take a while to fix. Make sure you read him, and catch him before he gets to the point where he can pull on you. Make the wrong thing difficult and the right thing easy. Once you can walk, move to trot, then canter. These will be more difficult. Take your time. Use pressure at 45 degree angle (his body and the lead rope create the angle) as an emergency brake. I would use a rope halter with four nose knots and a 15 foot lead rope. The circle he moves on should have a radius of about half of your lead rope length.
You may find videos of this online. Once you get to a point where he doesn’t pull, don’t just send him in countless circles, change it up a bit. Change direction often, see how slow he can go, how fast he can go, see if he yields away sideways, keep him thinking. Don’t let him think about being naughty, and catch it before it gets to that point.
Good luck
I hope this helps you a little.