First of all, thank you @ms4446 for the prompt reply - and very detailed answers ! Yours always go the extra mile and really help catch up fast (coming from Airflow).
I had tried escaping the $ sign but to no avail, DF still tries to interpolate. It seems the engine ignores the escaping.
I have ended up using this python-inspired function (until escaping is supported):
const f = (template, ...args) => {let argIndex = 0; return template.replace(/%s/g, () => args[argIndex++] || ''); };
usage: f(‘seems %s to me’, ‘ok’) - good enough for my use case