My young jumper did this and still does if he gets unbalanced. It is all a function of having a strong hind end which will square up and support the horse off the ground. His trainer did lots of fairly high gymnastics with rails between each jump so Waldo got to the exact same spot every single time.
Once he got strong enough to square up behind, the front end has gotten 95% better. But he will still not jump square in front if he gets to a long weak distance and reverts back to his old habits.
It seemed to me that the fix was in the hind end, the front end was the beneficiary of the hind end learning to square up. Watch your horse to see if he takes that last 1/2 step with his following leg to bring the 2 legs together. If/when he does he should jump square.
I agree with those who say that a horse who has been cantering jumps that are easy for him learns to ‘cheat’ and not make an effort. In Waldo’s case the jumps were quite high, but they were still easy. The trainer kept putting them up (4’+) until Waldo really had to get his act together.
It might be harder to retrain an older horse, but it also might be a fun learning experience for both of you.