Side-reins will only make your horse more stuck. You don't need side-reins.
What you need to do as far as lunging goes, you need to back up a few steps. Do some desensitizing exercises. Teach him to tolerate the whip touching him at the standstill, walk and trot. Both directions. Teach him to tolerate the rope, standstill, walk and trot, both directions again. You need to take your time, forget about the side reins, forget about lunging.
Your horse needs to learn to quietly move away from indirect pressure (whip, body communication, etc), and also direct pressure(pushing on him, with the halter, etc).
To him, being sent away is too scary. He thinks he's done something to get himself in trouble. You have to break it down for him and teach him that you can send him without him being in trouble, like when you said you waited for him and quietly encouraged him forward.
Teach him to move his shoulders, hind quarters, belly, neck, cheeks when you gently push on them. Push him sideways. Back him up. All these things teach him different ways he can calmly move away from pressure. When horses do not know how to get away, they can sometimes do as your horse does. They get stuck.
Once you can do that successfully, teach him the same things with the use of your whip, or the tail end of your lead rope, gradually doing so while making the space between you bigger.
To fix the haunches coming at you, you push his shoulders away by walking into him, tapping him on the shoulder, and then the second his shoulders move out and away from you, then you walk towards his hind end to get his hind end to yeild, then you go back to the shoulders. If you walk in at his hind end and he doesnt move, bump him on the lead rope.
All these things will help him understand how to move away from pressure.
If you need further explanation, let me know. I have to go feed. Good luck, :)
In riding, a horse's energy is like a river- guided by the banks but not stopped by them.