It's giving a 403 because I disabled indexes, as you suggested here. This had to be done on a global default level, since .htaccess in the public_html root is not considered by the server.
I should add this is a standard cPanel CentOS machine, running LSWS, if this helps.
Requesting any URL except the website root works, eg. /foo/bar results in a Rail error saying no route (as expected). Requesting / just results in a 403 due to Indexes being disabled. The request response headers in each case are different, it's clear to see that the request for the website root is not being processed by Rails (and indeed there are no ruby processes spawned by LSWS).