Took a couple of days, but in the end I realized it myself. The various documents and guides that describe setting up Firefox about: config seem to be incorrect. They argue that a full URI, including a protocol prefix, should be included. As it turned out, the true opposite is true.
As a random snapshot in the dark, I tried to set it as "localhost" (the domain on which the test server is running). And voila! It fixed it! "http: // localhost", on the other hand, caused it to break.
As soon as I made money in Firefox, confirming the correct configuration on the server side, its application in IE and Chrome was cinch. For IE, I just added "http: // localhost" (in this case, you want the protocol prefix) to the "Intranet" zone. And since Chrome uses the same network settings that IE uses, this step made it work for both browsers.
Regarding the server side configuration, it looks like I had this right from the start. I simplified it a bit, so really all you need in the directory block is the following:
AuthName "Whatever you want to call your intranet" AuthType SSPI SSPIAuth On require valid-user
With this installation, if you point to a PHP script executing print_r ($ _SERVER), the output will contain something like the following:
[REMOTE_USER] => dev-kdc-pc01\kris.craig [AUTH_TYPE] => NTLM [PHP_AUTH_USER] => dev-kdc-pc01\kris.craig
If you want to get rid of part of the domain (for example, "dev-kdc-pc01 \"), you can either parse it in PHP, or add this line to your SSPI material in the directory block in httpd.conf mentioned above:
SSPIOmitDomain On
Note that I only tested this on a Windows system, where the Apache web server was running on a local host. I have not tested it in a situation where the Apache server is running on Linux, although this should not affect the results, since the server simply accepts everything that the browser sends. It also requires the client to be running Windows or another SSPI compatible environment. I have not yet decided how to make this work for our Mac employees.
Also note that I have successfully tested this on a network that does not currently have a configured domain. According to articles published elsewhere, behavior should be the same on a workstation that is a member of a domain.
Hope this helps! Thanks!