A few questions for you Wulfsige:
Does Ty Gwyn Lane have any bends in it?
Did you record the GPX track on the OS app in the car or by walking the road length?
If recorded in the car, what speed will you have been travelling at?
What does the recorded GPX track look like when you review it over aerial imaging? Is it precisely nailed to the road?
One of the issues when a track is loaded into the OS Maps app is that it converts it into a route and filters the track points before it is displayed. For a clear explanation of filtering visit the tutorial section of the GPSVisualizer website:
https://www.gpsvisualizer.com/tutorials/track_filters.htmlI just loaded a GPX track recorded on a Garmin GPSMap66 with 1654 track points and a distance of 22.7 km. Once imported into the OS app, the displayed distance was reduced to 22.2km. When the route was exported out of the OS app back into Garmin BaseCamp, the route only contained 533 via points. When the original and the OS app tracks were compared in detail, I could see where the filtering had slightly converted many slight walked arcs to straight lines ("cutting corners"), thus reducing the distance. As far as I know, OS haven't disclosed their filtering algorithm, but any applied filtering will shorted the total distance shown. I think this may account for the systematic shortening the OP is finding.
Interestingly, if the OS exported route is converted back into a track in BaseCamp, all 1654 track points were preserved and the distance went back to the original value. Hence the OS app is not modifying the recorded data in the GPX file, just displaying it with some track filtering applied.
Also I agree with Ninthace that plotting a route over aerial imaging will generally give a more accurate distance than plotting over mapping due to cartographic generalisation.