After playing 9. Ng6+ ..., Black cannot avoid checkmate. 9... fxg6 is mate in two, so the engine's recommendation will be 9... Kf6 to prolong the game to mate in three.
The line I think you are missing is 9. Ng6+ fxg6 10. Qe2+ Kf6/Kf7 3. Qe6#. Black survives a bit longer with 9.... Kf6.
Went to analyze a recent game (~900 blitz) and my kc6 sac was marked as an inaccuracy... Because I could have instead simply given it away for free? Worse yet, the computer's reasoning was that black would inexplicably not take this free knight, and instead attack it with his king, after which my queen would mate him in 2. Is this the computer being dumb, or am I missing something here? Position for reference.