the crawl-budget arithmetic is the part that'll stick -- huge impression spike for a couple weeks, then a cliff once google's trial period ends, and it's easy to read the cliff as something you broke rather than what it actually is.
one thing worth checking that isn't in the post: what serves the 404 for a URL outside your 1200 once you're on cloudflare pages instead of vercel. dynamicParams = false gives you a clean next.js not-found at request time when there's a server behind it, but static export has none -- cloudflare falls back to whatever 404.html landed in out/, generated from your not-found boundary at build time. worth confirming a stray /factors-of-99999/ actually renders your branded page and not a generic cloudflare one, since that behavior is easy to assume carries over unchanged from vercel.