in reply to Using 403 as a redirect

I do not have a general reply to your post, but rather a very specific reply to only one question you raised:

doesn't [hard-coding the servername in an ErrorDocument directive] defeat the point of named virtual-hosting?

No, it doesn't defeat it, it just makes it possibly less convenient. You can easily use a different ErrorDocument directive for each virtual host. It might be a bit of a pain to work with, but it's not a big problem in my opinion.

Update: just to make sure I was right, I checked the Apache Documentation and looked up the ErrorDocument directive. It lists the legal context as "server config, virtual host, directory, .htaccess" which verifies what I wrote.