Вы неправильно интерполируете свою строку:
console.log(`\$\{${myKey}\}`);
даст вам ${varHere}
. Помещая это в RegExp, он будет пытаться сопоставить $ (конец строки) несколько раз {varhere}, что, конечно, является недопустимым регулярным выражением. Вам нужно выйти из выражения, чтобы получить желаемый результат:
new RegExp(`\\\$\\\{${myKey}\\\}`, 'g')
Вместо этого, поскольку здесь вам на самом деле не нужен RegExp, вы также можете использовать более простую строку replace:
pString = varString.replace(`\$\{${myKey}\}`, 'test');