My understanding of it is that there's an informal agreement between the KHL and NHL that you don't mess with other team's players that are currently under contract. In other words, while there's nothing in writing, both leagues just don't poach one another's players because it'd be a massive **** show otherwise and create a pile of uncertainty.
So technically, yes, Mozyakin could announce he's retiring from the KHL and sign a multi year deal with the Wings the next day without Mettalurg's permission. Whether or not Mettalurg could take civil action against him for breach of contract, I dunno, but that's a different matter all together. The Point is that both leagues could poach one another's players if they wanted to, but It would never happen because it's considered not cool to do so for business reasons.
In Datsyuk's case, I would suspect that he has Holland's and the Wing's permission to go play for SKA. Don't think he'd be going there otherwise. That's in essence what you've arguing though anyways.