Perhaps 6. Bd3 instead to slow down Black's play against the f4-pawn.
6... Ng6 7. g3
With the light-squared bishop on e2, this doesn't look as appealing. 7. Ne5 when a capture on e5 can be met by 8. fxe5 (7... f6 8. Nxg6 hxg6 9. Bd3).
7... Bh3 8. Nc3 c6 9. Be3
Slightly better might be 9. Ng5 to eliminate the h3-bishop and reduce pressure against the light squares on the kingside. 9. Ng5 Bf5 (9... Bg2? Rg1, 9... Qd7 10. Nxh3 Qxh3 11. Bg4 Qg2 12. Qe2+ Qxe2+ 13. Bxe2) 10. Bd3 Bxd3 11. Qxd3 with a roughly equal position.
9... O-O 10. Qd2 10.Bb4
White's last move signals queenside castling, so I'd probably play 10... b5, getting queenside play started.
Probably not such a good idea given that opposite-side castling is about to occur, with a race on opposite wings.
11...Ba5 12. O-O-O Nd7
Or 12... b5, which is probably also playable.
Or 13. Ng5 Bf5 (13.. Bg2 14. Rhg1 is pretty much the same thing) 14. g4 Bxc3 15. Qxc3 Be4 16. Nxe4 dxe4 17. d5 with active piece play.
13... b5 14. f5
or 14. Ng5 with the same idea as in the previous note.
14... Ne7 15. Nh4 b4
Is this enough to counterbalance White's play on the kingside? I can't tell here, but perhaps 15... Bxc3 16. Qxc3 Nxf5 17. Nxf5 Bxf5 might be better, when the race is in full swing but one of White's pawn battering rams is removed. Of course, this also opens the f-file for White, so it might be a mixed bag.
16. axb4 Bxb4 17. Bf4
While this does hold up a possible ...Rb8 by Black, I prefer to continue the charge with 17. g4 since ...Rb8 loses to Bf4 anyway.
Again, 17... Bxc3 18. Qxc3 Nxf5 ideas were possible, and again it's not entirely clear to me that Black gets the better deal. 17... Qa5 looks okay as an alternative to the move played.
18. Qf3 Nd6
Better is 18... a5, continuing the attack.
Being greedy with 19. Na2 might be playable, although it is extremely risky. One sample line might be 19. Na2 a5 20. Nxb4 axb4 21. Bxd6 Bg4 22. Qxg4 Nf6 23. Qf3 Ne4 24. c4 Qxd6 when White has an extra piece while Black has a massive attack. Can White survive after 19. Na2? I have no idea, but it might be worth looking at. In any case, 19. Bd3 looks bad as it cuts off the White queen's defense of the c3-knight.
19... Nf6 20. Bg5
Slightly better is 20. Ne2 Nde4, but even then, I prefer Black's position.
After 20... Bxc3 21. bxc3, White's king starts to look a bit exposed.
21. Qxg4 Nxg4 22. Bxd8 Rfxd8 23. Rdf1
Better is 23. Na2 to prevent ...Bxc3.
I can't see a good reason not to play 23... Bxc3 24. bxc3 when Black gets a passed a-pawn.
24. Rf4 Nf6 25. Nf3
Better is still 25. Na2
25... Bxc3 26. bxc3 Nde4
I'd prefer 26... Nfe4 so that the knight on d6 can exert pressure on c4.
27. c4 Rab8
The rook was positioned just fine behind the passed a-pawn.