Domyślam się, że albo odpowiedź jest wyprowadzana jako zwykły plik binarny, który nie jest zakodowany w base64 (nadal jest buforem), albo jest to odpowiedź skompresowana (gzip), którą należy najpierw rozpakować.
Trudno jednak wskazać problem, nie widząc kodu.
AKTUALIZACJA:
Wygląda na to, że brakuje właściwych nagłówków odpowiedzi.
Spróbuj ustawić te nagłówki przed downloadStream.pipe(res)
:
res.setHeader('Content-disposition', 'attachment; filename=test.pdf');
res.set('Content-Type', 'application/pdf');