Your argument is not entirely incorrect, but it is not entirely accurate either. The issue of rivalry sometimes acts as an obstacle for players to join a rival club immediately. However, there is one condition under which a club might agree to transfer a player to a rival: when the player consents to the move, despite the risk of being considered a traitor by fans. For instance, at present, Ketelaere is in the process of negotiating a loan (permanent option) to Atalanta, who also happen to be rivals for Milan.
Indeed, the risk of being disliked and labeled as a traitor by fans is very large, but not a few clubs have released their players to their rivals. Clubs in Serie A do this very often, in recent seasons Hakan Calhanoglu has been another example. There are many factors behind a player's move to a rival club, but the problem of the player's salary is the first.
But I think the traitor label given by fans to their former idols is only temporary, and that's very reasonable.
I think this kind of thing has happened many times and it will always generate hatred from the fans. Maybe in terms of loyalty it is considered inappropriate to imitate, but at least the player has contributed fully to the team he is defending. Sometimes players also see that the potential to win titles is much more open when joining a rival team and therefore this can be beneficial from a career perspective, but not infrequently it is sometimes not what is expected. The need to anticipate unwanted things in order to stay away from guilt after joining a rival team.