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.