My guess is the reason for this difference is because in production you have configured your ViewResolver to use "/WEB-INF/" and possibly a suffix. In your standalone test setup you are not adding a ViewResolver so the default simply takes the view name and turns it into a path, at which point it realizes it is the same as the request path.
As far as doc for .do you have a point and we'll be adding something soon, track here.