Is your feature request related to a problem? Please describe.
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
Setting a lower-than-current prune height via pruneblockchain currently requires a full resync. On slower machines, this can take a very long time. It is also unnecessary.
Describe the solution you'd like
<!-- A clear and concise description of what you want to happen. -->
Since all block headers are retained for PoW and chain reorg purposes, bitcoind could feasibly re-download the raw blocks that are lower than the old cursor, and above the new cursor, and check their validity against the retained headers.