I think castling kingside on move 15 was totally fine. In fact, you were better for most of the game.
6...Qc7 doesn't accomplish much in the position, nothing wrong with it. 6...Nb4 to put pressure on the d3 bishop looks good. e.g. 6...Nb4 7.Bc2 Nxc2+ 8.Qxc2 Nf6
7...Bd6 was a blunder, which luckily your opponent missed. As 8.Bxg7 wins the rook.
11...Na5 looks quite awkward and puts the knight out of the game. d4 was a better square for the knight.
14...Qxf3 wastes less time than Qb8
Your right, 20...f6 isn't the best of moves as it gives white play. Rd8 or even Qd8 was better.
Instead of 24...Qb7, offering a Queen exchange with Qe8 was better. Also gets your rook in the game.
Again after 25.Qxe6+, getting the queens of the board with 25...Qf7 26.Ng5 Qxe6 27. Nxe6 was better.
After 26.Ng5 white is pretty much winning.
I was black and it looked like white tried to make me castle kingside then attack me.