this is a bit out of my depth but i think you have to use tpl:load I think your getting the error page becuase the content is missing? This is basically a static page so maybe the solution in this thread useful.
i think what is happening is that your route is working, its hopping on to /maintence
but coming up blank for content, and moving onto a 404 as a result. I think you need to force it load a template for the /maintence
page, which is a virtual/static page.