It is a matter of changing times.
In days of yore, when the railway was a service, there was an expectation that the railway would do what it could to help a distressed passenger. On an understanding that the railway would not incur material extra expense by helping, that the passenger would not be unfairly enriched but merely (in a case like this) returned to the originally paid-for destination without extra charge, and if the railway was unable to help then the passenger was left to his or her own devices to make other arrangements (such as walk home or wait overnight on the platform).
Modernly the railway is not run as a public service but as a profit opportunity. Even minor infringements are seized upon to inflict disproportionate fine print penalties and disproportionate "walk up" fares and travellers are charged not on a basis of cost to provide service but on a basis of the absolute maximum that the market will bear. (Which may, exceptionally, only exceptionally, be less than the price on a basis of cost to provide service).
The only real solution is renationalisation and a return to a concept of a railway as a public service. Including providing low paid jobs even where there is no profit is so-doing because it provides the public with a valuable service and the minimum wage employees with a better alternative than the dole.
However, renationalisation will not occur in the modern political climate, the idea that government should serve the nation (instead of the inverse) is a curiosity found only in the history books.