I figured it out for URLs produced with formulas!
You’re right, when the URL is hardcoded into the email, escaping the backspaces works fine, but for some reason, URLs produced by a formula and then inserted into the email dynamically always break.
I realized that no matter what you do, the underscore has to be hardcoded into the email.
So I used formulas that break up the URL into the sections around the underscores, and then put it all together in the email.
[dynamic inserted url portion]_[dynamic inserted url portion2]
So you have to create several fields, one for each portion of the url broken by an underscore, and then put those fields into the email around a hardcoded “_”.
It’s annoying, but it totally solves the problem.