I looked into this more and there's confusion about what URL means. It's not a remote file, identified by a URL, processed as a template but rather the URL itself is a template. For example:
TEMPLATE 'http://someurl/somescript.cgi?mapext=[mapext]'
The URL text contains substitutions. Theoretically you could have MapServer do some computations and then pass them on to another app, perhaps another MapServer one. This is a very, very lightly used feature, but a feature nonetheless. A more common use for templates is for building hotlinks as a result of queries. I do that all the time.
So, to some up. The code is working as expected and the docs could use some clarifications. Switching to the documentation component...
Steve