It turns out that DotPeek was somehow/somewhere caching the results from when I was decompiling the unobfuscated version of the same program. Decompiling it on another machine worked perfectly fine.
I believe it was caching by the assembly name, as changing the assembly name in the obfuscated version also made the decompiler show the obfuscated code.