Je suppose que soit la réponse est sortie en binaire brut qui n'est pas encodé en base64 (toujours un tampon), soit il s'agit d'une réponse compressée (gzip) qui doit d'abord être décompressée.
Difficile d'identifier le problème sans voir le code.
MISE À JOUR :
Il semble qu'il vous manque les en-têtes de réponse appropriés.
Essayez de définir ces en-têtes avant le downloadStream.pipe(res)
:
res.setHeader('Content-disposition', 'attachment; filename=test.pdf');
res.set('Content-Type', 'application/pdf');