You are correct, in fact we had a quite lengthy discussion of the proper way to account for high angle shots in an older thread.
Long Range Incline and Declined Angle Shots
The old basic "take the cosine of the angle and multiply by the line of sight distance" to get a horizontal distance or "shoot to" distance doesn't work precisely in all situations
, and modern ballistic programs don't use this method for calculating angled corrections. As you mentioned, it will be close out to 400 yds, but often not close enough if the angle is pretty steep.
The calculation that some of the ballistics programs appear to use is:
Correction on level ground for said distance minus
(Drop from Line of departure at same distance times
(1-Cos of shot angle))= New correction for the angle.
If our correction at 500yds on level ground is 22.6", The shot angle is 30 deg, our drop from line of departure is 58.2", then our new correction for a 500 yd shot at a 30 deg angle is only 14.8.
The other method results in a "shoot to" distance of 433yds, and our drop at 433yds on level ground is 11.8" ....................3 inches different in this example.
Certainly close, only a little over 1/2 minute difference, but that 1/2 minute could be a miss on a rockchuck.