So from all this, the lesson you’ve told him to learn is not to trust people? That’s very odd OP.
Clearly the lesson here, is punctuality matters. As does communication. He should have spoken with his boss and asked for flexible working if needed, starting AND FINISHING 15 mins later. That wouldn’t have to be accepted but would have been the logical request.
Or just get the earlier train.
It’s basic OP, basic etiquette. I’ve always arrived early at work, I’d never dream of arriving late everyday, even if it’s 3 minutes. It shows a disrespect for your contract.
As his mum, you should be comforting him and reminding him next time to be there on time, that it matters. Not slagging the employer off. I’m also not sure why you’re coming back to £17 fare constantly either. It’s HIS responsibility to get into work, at which point they met with him and told him his unreliability is untenable. It’s not their fault he travelled into work that day.
Pandering isn’t helping your son. He needs to get in the real world asap and learn adult expectations. Arrive on time, work hard, be polite and professional. Until you’re the boss, you don’t get to decide, you fall in line.