I'm rather surprised no one else ran into this problem, but it appears the Grails documentation for grails.gsp.view.dir is incorrect. I set the value as '/temp/grails/' with the trailing / as the documentation specified, but as I mentioned above it works when running grails-app but not when you deploy it as a war file.
I did some code review and I noticed this config setting is passed by the GroovyPagesGrailsPlugin to the GroovyPageResourceLoader (It's nice to work with open source). The GroovyPageResourceLoader had a nice debug statement that showed what resource path it was trying to use, so I turned it on and in dev it showed it was searching in the path: '/temp/grails/grails-app/views' as one might expect. However, when I deployed it as a war and checked the log it showed it as: /temp/grails/WEB-INF/grails-app/views'. So I added the WEB-INF directory to my temp/grails and sure enough it works. Not sure if I should create a JIRA ticket for this, but the documentation should be updated.