They'd have better security if they do a form of what the NBA does. Have a Veteran league minimum salary that doesn't count against the salary cap.
That's the direction I was headed as well, though not fully exempt
Modify the 35+ rule (which I may even suggest raising slightly to 36 or 37), such that veterans of this age who sign are cap exempt from the first portion of their contract equal to a minimum salary contract less $375,000. (This is just a number I picked as its one already used in the CBA; it could just as easily be $100,000 or $500,000, etc.)
To clarify what I mean with some exmaples, the league minimum this year is $650,000, if a vet under this rule signed at $650,000, the cap hit would only be $375,00.
If a vet signed for $1,000,000, then their cap hit would be:
$1,000,000-($650,000-$100,000)=$725,000
Or a vet signing for $2,000,000 in 2021 (league minimum that year already set for $750,000) would be a cap hit of:
2,000,000-(750,000-375,000)=$1,625,000
(Under this rule, so as not to create any loopholes or negative cap hits, a buried vet contract would be calculated using the full cap hit, without the vet bonus applied.)
For the argument that protecting these players is virtually "unprotecting" younger players, I would also suggest the following (and this is something I think they should do anyway):
Expand the game roster from 20 players (18 skaters + 2 goalies) to 21 playes (19 skaters + 2 goalies).
This puts an extra player on the bench at all times, just like there's an extra goalie. Coaches would be able to use this player to rotate and roll different line combos, as a specialty player (PP only, PK only, shootout), as injury insurance in case some one else gets injured - however they see fit.