This isn't really a justification, I know, but Bb4 is the book line and that's why I played it
(Retreating it to d6 eventually was also book, but the line didn't include Nb1 so I was out of book at that point anyway).
Qc7 was a move I really wasn't sure about. That does make a lot of sense to be targeting h4 because of Nh4. I was focused on trying to prepare for e4 rather than just prevent it. I was still kind of hoping to get my own e5 in at some point.
I think my ideas worked to that end, because as played Nh4 was a bad move. I just botched the move order in refuting it.
e4 dxe4/Nxe4 Nxe4/Bxe4 Bxe4/Rxe4 g5/Nf5 0-0-0/Nxd6+ Qxd6 I think I'm pretty happy as black with the resulting position, though it's going to take some energy and you have to be careful not to trade into a worse BvN endgame.
The computer kind of likes going straight into g5, but I don't really care for that. There are some weird "Piece for three pawn" lines that look better for white to me.
Leading up to e4, I think the main issue was that I thought c4 was an equally valid break move for him, and I wanted to be prepared for either. If he plays c4, then I want to be castled short and just play a basic restraint pawn structure game. If he plays e4, I want to be able to castle long.
I think one of the first things I said to you four months ago was that "I feel really comfortable with my calculation, but my evaluation/positional understanding is awful." It's kind of come full circle, because I thought positionally I had a pretty good idea of what was going on this whole game (relative to my former "d4 and what the hell is happening, is this still chess?" feelings), but I botched a couple of key calculations that ruined what should have been good positions. Still have a ton of work to do to improve, but I felt like your fingerprints were all over that game.
tl;dr version: Book opening, right ideas but miscalculated, opponent botched endgame, I win.