You also bought a few early workers villages. While you had more coin in your deck after the first shuffle, by the SECOND shuffle your opponent had more money.
Your buys were - silver, cutpurse, village, village, trade route. Your opponent did cutpurse, trade route, silver, silver, silver. It's not until turn SEVEN that you got your second silver!
I think your opening was right, but then you assumed that you'd get 5 on the first shuffle for the witch and focused on other, non-coin things (two villages, TWO trade routes) whereas with a cutpurse around, it's pretty easy to get stuck at 4 if you have a little bad luck and only one silver and one terminal silver in your deck. On turns 8 and 9, you got two more silvers (catching up to the number that your opponent had by turn 5) and immediately got a witch on the next shuffle.