Bacana, me identifiquei com o post pois recentemente tive esse mesmo problema com a diferença que o relatório que o sistema gera é em pdf ou planilha excel. No meu caso utilizei streaming de dados com generator do python com fastapi e no front-end alterei o fluxo para abrir o download em uma aba separada, dessa forma o browser gerencia o download do arquivo e o fluxo fica livre para o usuário.
Aí sim, é uma otima solução também. Você consegue compartilhar alguma referencia que te ajudou na época?
Eu tentei essa abordagem também, mas não encontrei uma maneira do browser fazer o download via stream, eu ia ter que baixar como stream na memória e depois fazer o download na máquina do usuário, então preferi fazer via fila, salvar no bucket e depois notificar o usuário pra ele baixar o arquivo processado direto do bucket.