I actually preferred when you had the moves written out to this final diagram. That said, the problem is simply that "opening principles" are not enough. And actually, they should often be ignored.
This looks enough like a game I recently played (as White) I did a double take.
Bottom line is EVERY move you make in the opening should be towards emphasizing your advantages and/or working against his advantages. (Silman would call them imbalances). White pretty much did this. You didn't.
For example, You made a typical error people make when playing against the London system. You brought your dark Bishop to d6. He retreated his dark squared bishop to g3, and you mistakenly traded. This is exactly what people playing the London system want you to do. Every time this happens in a game of mine, I inwardly smile. It opens up the h file for what is potentially very dangerous monkey business by White. Black then needs to tread very carefully.
Your pawn moves weakened your position. His pawns are well positioned.
You castled into trouble, he did not castle (breaking a "rule") but leaving that rook on the beautiful open h file. That lack of castling by White also happens often in the London system.
The mistake with the exchange of bishops is typical of what people often do. They play exchanges without asking themselves who the exchange is going to favor. It doubled his pawn right. Yeah, but things like doubled pawns have upsides if you aren't careful. That doubled pawn ate your lunch. Often instead of exchanging, it is best to leave the tension on the board. While I don't know the specific position when the exchange was made, typically in the London system, it IS best to leave that tension be.
Here is that game I played recently with the same problematic bishop exchange and a similar bad end for Black.
As an aside, 14. Qb1 on my part was not best. I should have just played Bxh7 right away.
I see nothing in contrast to opening principles in my game however it was a quick execution of my king from my opponent.