Comment this line: $router->removeDefaultRoutes();

I think it's some bug in ZF. You are being redirected to index/index. According to docs
Zend Framework: Documentation
this code
Code:
$dispatcher->setParam('useDefaultControllerAlways', true);
should switch between exception and default controller but it isn't.
$front->throwExceptions(true) + $router->removeDefaultRoutes() = index/index
$front->throwExceptions(true) + #$router->removeDefaultRoutes() = exception