The idea is this:
A URL is a URL is a URL. You generate the URL using export_vars, and get it in a Tcl string.
HTML is HTML is HTML. So if you want to send a string over HTML, you need to HTML-escape/quote certain characters, including the ampersand (&) character.
If you were to transmit your URL over plaintext email, or on a text/plain page, such as in a cvs, then you don't want to HTML-escape it.
That's why export_vars shouldn't do HTML quoting, and the templating system (design for HTML output) should.