Almost everything he does makes it difficult to get the ball to the glove side of the plate. He throws straight over the top. He starts on the left side of the rubber and strides center. He doesn't finish across the body at all. He tilts left and falls hard left. Each of these tend to lead to the ball staying arm side. Combine all and it is inevitable.
Start with two basics. 1. Get the stride line to the desired location. If he starts with his right foot in the middle of the rubber, have the landing foot land very slightly to left of center so that the stride line is aimed at the desired result (glove side of the plate). 2. Finish extended forward, down and across. He doesn't have to keep this finish down the road but, combined with the adjusted stride line, it should give him a clear feel for getting the ball to that side of the plate.
Yes, some other things mentioned can also cause this location tendency, but this is where I'd start.
PS - there are plenty of high level P's that are very successful with a similar over the top motion and hard fall off. The movement can be very effective. But other components are in place to allow them to work both sides of the plate.