Mi conjetura es que la respuesta se emite como un binario simple que no está codificado en base64 (sigue siendo un búfer) o es una respuesta comprimida (gzip) que debe descomprimirse primero.
Sin embargo, es difícil identificar el problema sin ver el código.
ACTUALIZAR:
Parece que te faltan los encabezados de respuesta adecuados.
Intente configurar estos encabezados antes de downloadStream.pipe(res)
:
res.setHeader('Content-disposition', 'attachment; filename=test.pdf');
res.set('Content-Type', 'application/pdf');