I'm facing an issue with Vercel and my sveltekit project. I do not seem to be alone in this issue, there is a long running github issue https://github.com/sveltejs/kit/issues/9089
It seems that Vercel is caching 404 responses for static assets. This is not what sveltekit intends, at least not in adapter-node, it is only supposed to cache when the response is 200. You can see this on line 68 of the node adapter. https://github.com/sveltejs/kit/blob/main/packages/adapter-node/src/handler.js
You can reproduce this by attempting to fetch any url under _app/immutable that doesn't exist. You can also hit the same path when running locally with npm preview and see the Cache-Control headers are not set.
As to why this is an issue for me, we're facing issues where these cached 404s are occasionally being served after new deploys, there may be a race condition where the file isn't available yet but some JS is requesting it causing the 404 to cache.