Htmx is actually quite good at graceful degradation IF you stick to hx-boost for most interactions. See https://dev.to/yawaramin/why-hx-boost-is-actually-the-most-i...
Also, hx-boost isn’t really a workaround, it’s a fully supported and documented feature.