In trying to get my application to produce 404 errors correctly, I have implemented a catch all route at the end of my route table, as shown below:
routes.M
You are probably better off configuring the 404 error document in the section of the configuration then restoring the default route.
FWIW, I think the default route requirement is retarded too.