One thing is see in all the pics is, he´s wearing the trousers higher at his right hip, what causes the different fit of the left and the right side. Maybe Your son´s right hip is a bit higher. You can fix this by making the waistline of the right leg higher for about 1,5cm at the side seam and taper to the existing waistline at the opposit side seam. This alteration pays attention to the tilted hip bone and will release the right leg a bit downwards.(When you measure the distance from the waistseam to the floor at the left and at the right side (aka balance measurements), the difference is the exact amount)
A second thing: I think you could scoop out the back seat seam curve a bit more. (keep the end points of the line as they are).
For tight trousers like this it is also very important to give the seat seam curve a good stretch with ironwork BEFORE sewing it. The finished seam will lock the stretching in place.