STM32F4 - Reading general purpose timer count
I've finally figured out my issue. It was nothing to do with my code, but rather the QEMU simulator I was running my code on.

Once I plugged in the board, and ran the code on it, I started getting timings as expected.

Not using QEMU again!