Yes. By default, reordered query parameters create separate Cloudflare cache entries; use a Cache Rule's query-string sorting only where order is safe to ignore.
GA4 can show `(not set)` because the landing page comes from the session's first page view; a page view sent later doesn't fill that missing starting value.
Cloudflare can return `HIT` after a purge once its edge cache refills, while visitors still see old CSS from their browser cache, a service worker, or an unpurged cache-key variant.