When creating a PCH file the use of a temp file will be dictated by the presence or absence of the -fno-temp-file flag. Creating a module file will always use a temp file via the new ForceUseTemporary flag.
This design was worked out over email with @dexonsmith.
Once accepted I'll need someone to commit this change on my behalf.