Bonjour,
Le locataire est effectivement tenu au paiement du loyer et des charges jusqu'au terme de son préavis, même s'il déménage et rend les clés avant. Il n'y a qu'en cas de relocation que cette obligation cesse.
Dans votre cas, il aurait fallu conclure par écrit un accord avec le bailleur pour, qu'au cas où la relocation ne se ferait pas, il décharge le locataire de son obligation de paiement.
Je suppose tout de même que votre fils n'a pas déménagé plus tôt uniquement suite à la demande du bailleur alors que cela ne l'intéressait pas, car sinon, il pouvait refuser de partir avant la fin de son préavis.