Hello,
Thanks for the detailed post about your issue. Yes, as your code illustrates, the current version of BulkProcessing (class available only in Premium licenses) doesn't allow changing two placeholders in the same w:t tag. Template methods included in CreateDocxFromTemplate such as replaceVariableByText don't have this limitation.
We have moved your update to the dev team to be added in the stable release of phpdocx (adding $xpath->registerNamespace ):
$dom = $this->generateDomDocument($dom->saveXML());
$xpath = new DOMXPath($dom);
$xpath->registerNamespace('w', 'http://schemas.openxmlformats.org/wordprocessingml/2006/main');
The code you have added is the best approach to refresh the DOMDocument contents and get other placeholders in the same w:t tag that need to be replaced too.
Regards.