I apologize for not mentioning the actual typo. You got it right then.
{{#xlsxReplace "xl/styles.xml"}} {#asset style.xml} {{/xlsxReplace}}This is actually older v2 syntax. Its still compatible with v3, but now we use the following
https://jsreport.net/learn/assets
However, virtually identical files with the extra curly bracket will also work.
It also does not explain why the same file was working locally but not on the test server
I have tried replicating the issue and getting some hypotheses why it works for you on one server and not on the other, but unfortunately, I don't know.