> Why are you using SPAs with internal routing for small tools?
Because I don't use a server if I can help it. Client-side routing is wonderfully easy to use and provides a great user experience. What good does it for me to pre-render the sites or host it on a server where I can route server-side if client-side routing works perfectly for what I write?
> An SPA only needs to use urls to represent states that should be externally reachable.
"Needs" does a lot here. My tools integrate with browser history for navigation, so I need URLs for that as well. But I often make state available in the query, so it's externally reachable.
> If you want those states to be externally reachable, then you probably want those states to be indexable by search engines.
No.
> You also want users to know if a url is mistyped/miscopied and a 404 response page does a good job of that.
I do, and client-side routing gives users a wonderful 404 page. No need for serving a status 404.
> In the end, given the spec, it is on you to carefully consider amd have a good reason to go against the recommendations.
I've given good reasons. You haven't so far.