So that’s an interesting, though I must say, flawed, convention. It does basically imply that move 11 and 12 are a consequence of 9. But if Uhlmann had to think over an hour about taking the knight, it clearly was not!
Are any books worth reading if they weren't vetted by an engine?
... It does basically imply that move 11 and 12 are a consequence of 9. ...
TacticalBlindSpot wrote (~5 hours ago): "... Moves 11 and 12 were consistent with the flawed plan [started by Move 9], …"
Is that what you are taking as "imply"ing that moves 11 and 12 are "a consequence of" 9?
I, of course, am not qualified to know what Uhlmann was thinking while contemplating his response to 12 Nf5, but my guess would be that he sensed that he was in serious trouble and was trying to make his best guess at the move that would make the most difficulty for the successful continuation of Tal's attack. I would guess that 12...exf5 was a consequence of that effort.

So that’s an interesting, though I must say, flawed, convention. It does basically imply that move 11 and 12 are a consequence of 9. But if Uhlmann had to think over an hour about taking the knight, it clearly was not!
Move 11 is a direct consequence of move 9. His whole idea behind Bb4 was to win a pawn. Move 12 is already too late to fix the problem. If the knight is taken, the position opens up and black's king is in serious trouble. If the pawn is not taken, the knight removes the black king's ability to castle, and then the position opens up and black is in serious trouble.
You will find that many times people will think far longer on a move after they realize they have screwed up. At that point, Uhlmann likely realized he cannot take the knight, nor can he not take it.
That said, you are looking at a book about positional considerations and arguing over the tactical situations. I would suggest you put that book down for 2 reasons: 1) It will not help you, nor your son at your current levels, and 2) you will be better off letting him practice tactics and endgames almost exclusively for a while until he matures a bit to realize that he should not dismiss something a stronger player (or players) have said in a well-respected book simply because Stockfish thinks it has a better move.
... If the knight is taken, the position opens up and black's king is in serious trouble. If the pawn is not taken, the knight removes the black king's ability to castle, and then the position opens up and black is in serious trouble. ...
Before there is any more confusion:
Did you perhaps have in mind to write, "... If the knight is not taken, …"?

Are any books worth reading if they weren't vetted by an engine?
yes because an engine will only proffer analysis on the best play by both sides, this for humans is practically not a very likely prospect. You probably don't need a chess book, just find some annotated games on the net and try to understand what is happening and why. chessgames.com is a great resource. If you want to indulge in a book, find a book that you actually enjoy, this is half the battle, so many chess books are dull affairs,
Here is a very nice sight to get you started on understanding tactics and why they work.
we learn first to crawl, then to toddle, then to walk and then to run. We do not think like chess engines because they do not think at all. Through away your chess engine, seriously, just enjoy learning and you will do awesome.

... If the knight is taken, the position opens up and black's king is in serious trouble. If the pawn is not taken, the knight removes the black king's ability to castle, and then the position opens up and black is in serious trouble. ...
Before there is any more confusion:
Did you perhaps have in mind to write, "... If the knight is not taken, …"?
I still have to point out that if we go to the headline annotation, 9 gets a question mark and 11 and 12, which are worse, don’t. I can possibly concede the argument that 12 shouldn’t get one if a GM took two hours and didn’t see it—although the opposing GM of course did. I’ll give the position to my son and have him play it out against the engine. It’s probably beyond him, but it will be interesting to see.
In general, if a move played starts a plan, and that plan is bad, you only give the first move of the plan an annotation (and not EVERY move in the plan). Otherwise, you would end up marking up every other move quite often. Move 9 gets the mark in that game because it starts a flawed plan. Moves 11 and 12 were consistent with the flawed plan, so they do not get marks.
Again, this is where using engines without understanding how to use them gets you into trouble. The engines do not know, nor care, about plans (excluding the MCST-based engines like Leela and Alpha). They simply calculate. Thus, the move that starts a flawed plan rarely gets an annotation from the engine. Rather, the first move that shifts the evaluation significantly will get it (usually at least a couple moves after the flawed plan starts).