I've now tested my proposed change and played with LogLevel debug2. The change doesn't seem to do any harm but it didn't obviously cure the problem either. It took several daemon restarts (and one access to the web interface, though I'm not sure that was the trigger) for expired job files to be removed.
I'll keep monitoring the situation, although I'm now running with PreserveJobFiles Off since that seems better for privacy.
