Routes + page cache + default route = not caching?

You should watch the logs, it will tell you when it's caching something. When you visit /foo, it writes /foo.html. If you visit /, it writes /index.html. It doesn't really matter what the action is specifically, just the current url that's used.