An NHL contract only stipulates which NHL team has rights to a players service in the NHL, not in the world
I think the point is that he is "under contract". By playing in the KHL, he is not fulfilling his agreement. Imagine if someone contracted a person for a service(such as building a house or public appearances) and halfway through his contract, this person quits to service someone else. Isn't that a lawsuit? If a player is not required to fulfill his agreement, why should owners fulfill theirs?
Anyway, this reminds me back in the days when NHL players would sign a contract only to decide that they are not being paid enough and hold out while still under contract. The owners would relent and renegotiate under pressure. This shit happened frequently until the Ottawa Senators refused to take Yashins crap for a second time(they relented the first time). Ottawa sued Yashin and won. NHLPA were actually ok with the fact that Yashin lost since, had he won, it would give the owners an argument to terminate a players contract if they feel that he's not worth his contract.
As for the Devils cap, they will have a 250K(maybe 300K) hit until 2025. It's just a small hit but it's for a long period. What really hurts is the 2014 first round pick that they lost due to the Kovalchuk signing. With the lost of some firepower and an aging Brodeur, that first round pick may be a high one.