Olha, vou ser sincero: você está complicando à toa. A solução que precisa não exige filas, serviços externos ou hospedagens mágicas. O próprio protocolo HTTP já lida com requisições longas, e qualquer aplicação Node.js básica consegue processar tarefas em segundo plano usando threads ou worker threads nativas.
Se a Vercel não suporta processos longos no plano gratuito, mude de plataforma. Hospede sua API em VM Linux gratuita da AWS/GCP/Oracle. Em qualquer ambiente Linux, seu código pode rodar uma thread em paralelo sem travar a API principal.
Usar Bull ou filas é útil para sistemas complexos com alto volume, mas pelo seu relato, você só precisa de um simples pool de threads na própria aplicação. Está inventando problema onde não existe, provavelmente por não dominar conceitos básicos de concorrência.
Minha dica: estude como funcionam worker threads no Node.js, ajuste seu código para delegar a tarefa demorada a uma thread separada e hospede seu projeto em um lugar que não limite. Pare de correr para soluções complexas antes de entender o básico.
Um abraço de bons estudos!