25km each way is 680 miles a month.
From my example, that's ~794 miles (corrected) a month, £255, £0.32/mile. Not as expensive as some other routes but still can be as as high as 12% of your take-home wage given the low salaries in that city.
Moving onto London... /under/ 20p a mile? Which route is that??
Just some random examples I picked:
Alton to Waterloo: £529, 1786 miles, £0.29/mile.
Guildford to Waterloo: £453/mo - 1140 miles a month, £0.39/mile.
Gravesend to London Bridge: £436/mo, 836 miles a month, £0.52/mile.
Brentwood to Liverpool St: £336/mo, 706 miles a month, £0.47/mile.
St Albans to Thameslink: £440/mo, 756 miles a month, £0.58/mile.
(Mileages from https://www.scotrail.co.uk/carbon-calculator )
Alton to Waterloo is £5520 a year, 50 miles each way or 23,000 miles a year, 24p per mile.
Brighton 17p/mile
Battle 22p/mile
Compare to say wilmslow to Manchester (33p/mile), or northwich (29p/mile)
Compared to to people doing one off journeys. London-Southampton 77p/mile, Brighton 46p/mile, Battle 53p/mile
Just give up.
I've proved your "A typical season ticket into London is under 20p a mile" claim wrong multiple times.
Southampton to Waterloo is just about the exception at ~19p/mile if you assume 22 days per month which I think is exceptional.