I animated my scene before realising I wanted it at a higher framerate. Oops! Rookie mistake.
So I enabled time remapping and stretched it out to twice the duration (from 100 frames to 200 frames). Everything interpolated smoothly, except for my cloth simulation. That made sense since I baked it before time remapping, and I could see it only generated 100 .bphys frames to disk.
So I deleted my bake, set the simulation speed to half, and baked it again. I could see it generated 200 .bphys files this time, so I thought it was fixed. But when I scrubbed through the timeline frame-by-frame, I could see that it was just repeating the same frames twice (instead of properly interpolating the in-between motion). So while everything else was running at 50fps, my cloth simulation still appeared to be going at 25fps.
I've decided to just stretch the keyframes out on my dopesheet instead of using time remapping for the time being, but I just wanted to know if anybody else has encountered this and can offer a solution? It would save me a lot of headaches in the future.