The Next team explains it because they don't want to solve this problem by shipping a definition of all the route of the app [1] because it does not scale. But while it is true, it makes dynamic routes extremely painful to use. Hopefully it will be fixed soon.
Another thing not mentioned in the blog post is they started to rewrite the core of Next.js in TypeScript too, which is a big move!
[0] https://nextjs.org/learn/basics/clean-urls-with-route-masking
[1] https://github.com/zeit/next.js/issues/4989#issuecomment-442024894