504 выдает не mPDF, а nginx, не дождавшийся конца обработки файла.
Вам нужно, получив запрос на такую обработку:
- записывать его в очередь (в БД, например)
- разбирать ее параллельно (по крону, например)
- оповещая запросившего о готовности результата (по почте, например).