Note that processEscapes is a parameter to the tex2jax preprocessor, while the \$ in \text{} are handled by the TeX input jax, so these have no relation to each other. Indeed, the TeX processor can run even without the tex2jax preprocessor, so it would be a mistake to tie its processing to the tex2jax configuration.
The reason tex2jax needs a parameter to control processing of \$ is because dollar-sign delimiters are off by default, and so there is no need to processes \$ specially. It is only when dollar-sign delimiters are enabled that \$ becomes important. And note that this is only there to help identify what constitutes the math expressions within the page (not how to interpret the TeX code within those delimiters). The HTML page is not a TeX page, so MathJax needs help to determine how you want to handle the text outside of the math; but the contents of the math should be controlled by TeX's rules.
That being said, you could use something like
<script type="text/x-mathjax-config">
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
var PARSE = MathJax.InputJax.TeX.Parse,
TEXT = PARSE.prototype.InternalText;
PARSE.Augment({
InternalText: function (text,def) {
text = text.replace(/\\/g,"");
return TEXT.call(this,text,def);
}
});
});
</script>
to remove any backslashes from the contents of \text{} that aren't part of math-mode material within the \text{}. Note that this should appear BEFORE the script that loads MathJax.js.
You could be more selective about the removal by using
text = text.replace(/\\([_%#])/g,"$1");
instead (add whatever characters you want to quote).
Davide