I'm elaborating on my point before addressing both of your points. The rumored deal for Hayes was 5 years $6M AAV (it's in a Brooks article somewhere). If he agreed to that deal, he's locked into making just $825k more than he is this season. If he remains status quo but gets more minutes this year, I'd bet money that he's going to require $6M+ as a UFA. Buying out that last RFA year and then eating UFA years is the cheaper solution for the long run, and we've seen countless teams do this recently with bigger name players.
Now to both of your points: he's coming off a year where he got incredibly difficult usage and still excelled as a matchup C. His offensive numbers struggled, but that can easily be attributed to poor linemates and no powerplay time. If you dive into his numbers, he's rated as our highest WAR player by one model and 5th best by another. Despite this usage, he still put up transition stats in the 80th+ percentile in the league and has the following breakdown of his passing plays: 82nd percentile in on-ice shots that the player contributes too, 79th percentile in weighting of primary shot contribution likelihood of becoming goals/assists, and 92nd percentile in shot assists from behind the net or across the slot.
You're looking at a guy that crushed matchup C minutes with bad linemates and started producing once given minutes. He's slated to be put in a better situation than last season with better linemates and more PP time. He also produces very well with Zuccarello, and the Vesey-Hayes-Zucc line had positive GF%rel and xGF%rel compared to some of his other lines.
I really don't see a situation where having this type of player locked up is a bad thing. He insulates kids like Chytil, Andersson, and Howden and would have been locked up through the duration of his prime for those 5 years. A worse player in Bozak just got $5M AAV with a modified-NTC. I'd much rather have Hayes than overpay someone like that.