Sir Sadiq Khan has spent an estimated £942 million on new trains for London – yet almost all of them are stuck in Spain.