I think you're using "single-page app as opposed to no or limited JS on the client" while an alternative would be "single-page app as opposed to multi-page app". There's no reason you have to implement something like Slack by reloading an iframe.

Not reloading the document via HTTP while updating the content is the definition of a SPA.

I would argue that the line between an SPA and not is blurred. Consider progressive enhancement; or, per the Slack example, pages with content that's updated dynamically but which rely on reloading a whole page for navigation.

I would even argue that passing snippets of HTML around like e.g. Hotwire is still a middle ground.