Value aside, this is a silly trade for several reasons
#1. Why would Karlsson, who literally can get 10M per year from any team, agree to a sign and trade to Buffalo? Given he has a 10 team NTC, it's highly likely Buffalo is on that list.
#2. Why would Buffalo, who is still several years from contention, as good as Karlsson is, give up what many have called "the McDavid of D-men" at the age of 18, when they are more than a Dahlin or Karlsson away from contention.
If Buffalo was a good team who missed the playoffs because of a rash of injuries and Karlsson would push them from playoff team to cup contender...then yeah, maybe they consider this. But....Buffalo is an objectively bad team. They need several of their young players (Reinhart, Guhle, Mittelstadt, Bailey, Baptiste, Nylander, Borgen, Ullmark) to develop for Buffalo to be good. That is still several years out.
From a pure VALUE standpoint, 1st overall for an elite defensemen signed to an 8 year contract isn't bad.
But when you consider all the factors surrounding this deal, it makes no sense for Buffalo. Sure, Ottawa loves it, they get 1st overall for a D-man running to the door. No reason for Buffalo to do this deal. Not with the situation they are in.