cache is true by default: the plugin builds the document once and reuses it for every request until the process restarts.
Why this is safe
The Payload config is static after boot — collections, globals, fields, and endpoints cannot change while the server runs. So the document is identical on every request, with one exception:servers, which is set on every request, cached or not. See Servers.
Disable it in development
In development your config changes often. Turn the cache off so edits show up without a restart:payload.config.ts