Put the value into an attribute of a special <span> rather than outputting it directly:
<span data-formattable-value="{{Lead.Your Field}}" data-format="currency-us"></span>
Add this in a <script>:
document.addEventListener("DOMContentLoaded", function(e){
var arrayify = getSelection.call.bind([].slice);
arrayify(document.querySelectorAll("[data-formattable-value]"))
.forEach(function(formattableWrapper){
var origValue = formattableWrapper.getAttribute("data-formattable-value"),
format = formattableWrapper.getAttribute("data-format");
var formatter,
formattedValue;
switch(format){
case "currency-us":
formatter = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" });
formattedValue = formatter.format(origValue);
break;
}
formattableWrapper.textContent = formattedValue;
});
});
Note this solution isn't general-purpose as it only covers your particular formatting need (despite the fact that it might seem quite complex to you!). It doesn't have locale-awareness except for US, for example. And in general, when you need to reformat tokens, it's best to not put them inline at all (not even in a special data- attribute) but rather to hold them in a hidden <datalist> element.