По умолчанию IIS7 перехватывает коды состояния HTTP, такие как 4xx и 5xx, сгенерированные приложениями далее по конвейеру.
В web.config замените строку
<httpErrors errorMode="Detailed">
с
<httpErrors existingResponse="PassThrough" errorMode="Detailed">