The ENGINES cannot find the winning move.. 23.Nh5+ ?

Depth 43 doesn't mean the engine goes to 43 ply for all possibilities. Pruning still kills some lines way beore that. My guess is that back to back sacrifices without immediate gain and lots of move possibilties still in play (i.e. not a single forcing sequence) is deemed too unlikely to pursue and gets pruned. Good instincts to find one of these.

I assume that the lichess engine didn't find it either.
Have you tried different engines on this? Did any find the move?
Lichess runs stockfish I believe, which definitely doesn't find it. Maybe some of the others cound find it, with slightly different pruning criteria. I wonder if Leela can find it.
I'm running Stockfish 12 on a five year old, nothing special desktop computer. It finds 23.Nh5+ is 29 seconds. To be fair, that's a longish time

I'm running Stockfish 12 on a five year old, nothing special desktop computer. It finds 23.Nh5+ is 29 seconds. To be fair, that's a longish time
I see but it didn't show up here on both Lichess analysis and Chess.com analysis.
Why's that!?

I assume that the lichess engine didn't find it either.
Have you tried different engines on this? Did any find the move?
Yep..The move didn't come up on Lichess.
Tried LeelaC0 on android till depth 7 or 8. That too.

Depth 43 doesn't mean the engine goes to 43 ply for all possibilities. Pruning still kills some lines way beore that. My guess is that back to back sacrifices without immediate gain and lots of move possibilties still in play (i.e. not a single forcing sequence) is deemed too unlikely to pursue and gets pruned. Good instincts to find one of these.
Thats a good point.
Is pruning an adjustable parameter? As I mentioned, Stockfish, running on my middle-aged desktop, found the killer move in about 30 seconds, while Stockfish running on lichess hasn't found it after several minutes,.
[UPDATE!] at 4 minutes and 15 seconds, Stockfish on lichess suddenly makes Nh5+ it's number one choice and evaluates the position as completely won for Whiter
My revised guess is that Stockfish running on Lichess or Chess.com makes a sacrifice somewhere in the form of enhanced pruning (or similar) to reduce load on their servers. Lichess does give you the option to run stockfish "on your machine" and I think chess.com does that when you select infinite analysis (?) but they might still make some choices that increase pruning to enable it to run on older machines.

My revised guess is that Stockfish running on Lichess or Chess.com makes a sacrifice somewhere in the form of enhanced pruning (or similar) to reduce load on their servers. Lichess does give you the option to run stockfish "on your machine" and I think chess.com does that when you select infinite analysis (?) but they might still make some choices that increase pruning to enable it to run on older machines.
Aa yes good point..
Another thing is that the move also didn't come up when analysed with Stockfish (depth 26) and LC0 on an midrange android smartphone.

Is pruning an adjustable parameter? As I mentioned, Stockfish, running on my middle-aged desktop, found the killer move in about 30 seconds, while Stockfish running on lichess hasn't found it after several minutes,.
[UPDATE!] at 4 minutes and 15 seconds, Stockfish on lichess suddenly makes Nh5+ it's number one choice and evaluates the position as completely won for Whiter
So lichess found it😄

Using a recent stockfish-devel just at depth 28, which for serious correspondence chess at least, is very low. It's no secret that the chess dot com online engine is pretty weak.

Ohhh.. It is only Stockfish 12 .. . . google search . .
There are also developmental builds which are issued almost daily, and one of them was used here. They will result to the official Stockfish 13, I guess late this year.