Originally, it looked like the extension template loader was working just fine. I was wrong - for some reason, attempting to load an extension template from an extension that had *just* been enabled (and had been disabled at server boot) caused an exception (a "NoneType" was being called - eventually, I tracked this down to the get_provider function in pkg_resources... importing resource_string from pkg_resources didn't seem to do the job of initializing that function). Importing the _manager directly seems to fix this.
I also realized there was a templatetag caching problem occurring. I've solved this by clearing the templatetag cache upon extension enable/disable.
So it turns out that just saying:
templatetags_modules = 
isn't enough to wipe out the list in the django.template module. del(templatetags_modules[:]) ought to do the trick. The only reason it seemed to work for me was because my browser had cached an earlier successful request.
I've also abstracted out the INSTALLED_APPS.append/remove into their own functions, which protects against accidental re-adds.