In Linux, both the compiler cache and preprocessed cache are stored in /home/user/.cache/sccache. The compiler cache and preprocessed cache are different, as the former only writes the file "atomically," while the latter requires random access to the data, also creating numerous temporary files.
The motivation is to store the compiled objects in S3. Since S3 does not support modifying file content (I am using mountpoint-s3), the preprocessor mode cannot work properly. If the preprocessed cache stays locally while the shared cache is in S3, the preprocessor mode and the shared storage can work together better.