This is fine. It's still odd to me that my London bishop is really the good one.
7. Bf4xd6 Qd8xd6 8. Nb1d2 Nb8d7 9. Bf1e2 a5
This is a flexible move. Turns out that the engine thinks it's fine. I don't necessarily need to play it right now -- b4 is not coming for a long while. Part of my thinking is to see what white declares in terms of castling or pawn structure.
10. c4 O-O
I'd rather play an e5 break than a c5 break.
11. O-O c6
b6 was also good.
12. c5 Qd6c7 13. b4 e5
b6 is fine, as are Rb8 and axb. Your pawn break wasn't bad, but you do have a habit of rushing them.
14. dxe5 Nd7xe5 15. Nf3xe5 Qc7xe5 16. Nd2f3 Qe5c3
!? An interesting complication with not a lot of downside. Black has no serious problems even if black manages a painless exchange.
17. Qd1d2
There are a few ideas. Black is going to take the b-pawn, first off, and white is obliged to capture or else the extra c-pawn takes some time to round up. I didn't properly appreciate the trade of a queen for two rooks, but black's game is great. The rooks probably live on the d and e files, (e7 and d8, perhaps).
17... axb4 18. axb4 Nf6e4
?! As above, not quite as good as the exchange of queen for the rooks. This should be about equal after 19. Qd4!
19. Qd2xc3 Ne4xc3
These variations are quite forcing. Black is headed to a great endgame.