Show de bola, nesse caso um try/catch fazendo o console.log do erro pode resolver o mistério. A vercel mostra o console.log nos logs deles na plataforma.
A única resposta que ainda me deixou em dúvida foi a respeito do host usado na requisição do api route do next. Você disse que esta usando - corretamente - a variável NEXT_PUBLIC_URL, mas o protocolo (http ou https) esta sendo corretamente definido também? Isso foi um erro que cometi nas minhas primeiras tentativas de implementação, pois em dev seria http, mas em prod precisa ser https (usei o NODE_ENV para decidir nesse caso).
Opa, a parte do NEXT_PUBLIC_URL a versão de produção possui uma branch específica e um .env específico que sobe junto com o deploy na vercel, essa tá configurada com https apontando já pra url do domínio configurado na plataforma, até o momento não achei uma solução pro problema, já tentei outras abordagens utilizando serveless function mas sem sucesso...