The flow has two hops: Google → Supabase → your app. Google only ever talks to Supabase, so Google needs Supabase's callback, not yours.
In Google Cloud Console, your OAuth client → Authorized redirect URIs (not JavaScript origins):
https://<your-project-ref>.supabase.co/auth/v1/callback
You find the exact URL in Supabase under Authentication → Providers → Google, there's a copy button.
Your /auth/callback route belongs in Supabase's Redirect URLs allow-list instead. Different list, different dashboard.