When a URL is processed by WordPress, its index.php
script is loaded with the path to the requested page. Because in this case the index.php
script is always found, a normal 404 error will never trigger (via ErrorDocument 404 …
). If the requested URL does not match a page that WP knows about, WP will display its own “404” page.
Unfortunately, if WP processes a URL, there is no way to use a normal 404 page, bypassing the WP 404 page. This issue is documented at https://core.trac.wordpress.org/ticket/7592.