Quando chiami nuovoFile.tpl.php da js questo non viene popolato, perché non "passa" da php, quindi il suo caricamento è esterno al framework che stai usando. In pratica è come se tu chiamassi un file html semplice.

Al momento sto facendo la stessa cosa ed ho risolto così:

- crei una route da contattare tramite chiamata ajax che ti fornisce i dati per popolare
nuovoFile.tpl.php
- unisci i dati provenienti dalla chiamata ajax con l'html di
nuovoFile.tpl.php tramite javascript

Ovviamente l'approccio cambia in base allo stack che stai usando, in questi casi è molto comodo usare un framework js come react o vue, ma puoi farlo tranquillamente anche con jquery o vanilla js. Così facendo è abbastanza inutile utilizzare un template engine per il file da caricare, puoi usare html semplice o addirittura inserirlo direttamente nel template principale e nasconderlo tramite css finché non ti serve mostrarlo.