Antes de largar o gateway eu tentaria descobrir de onde vem a piora, porque lentidão e resposta pior costumam ter causas diferentes. Resposta pior geralmente é o gateway mexendo no pedido: traduzindo tudo pra formato OpenAI, cortando parâmetro de raciocínio ou caindo pra um modelo mais barato no fallback sem ninguém perceber. Vale olhar no log qual modelo respondeu de fato. E se essa tradução quebrar o cache de prompt, sessão longa de agente fica mais lenta e mais cara ao mesmo tempo, o que bate com o que vocês descreveram.
Pra auditoria sem nada no meio do caminho, o Claude Code exporta métricas e eventos por OpenTelemetry (tokens, custo, sessões por usuário, e o texto dos prompts se ligar o OTEL_LOG_USER_PROMPTS). Os planos de time do Cursor e do Claude também mostram uso por pessoa no painel. Com dezenas de devs eu começaria por aí e deixaria o gateway pra quem usa chave de API direto.