The BigPipe module in Drupal is a very clever and efficient little module. It's able to send all cached content immediately with placeholders for dynamic parts of the page, then stream the content of each placeholder as soon as they are available, all in a single HTTP request. You can see a video comparison of a page load with and without BigPipe.
On the frontend the technical implementation is faking Ajax requests to benefit from the Drupal Ajax Framework. It's robust, battle tested and takes up about 40.73Ko of compressed JS to work. The HTMX implementation needs 21.18Ko to work. Roughly half the size of the previous jQuery-based implementation. Not bad.
This work is part of a larger initiative to replace the Drupal Ajax framework with an HTMX based implementation, and more than simply swapping the implementation with HTMX, we want to get closer to the spirit of HATEOAS (Hypermedia As The Engine of Application State). I've long been an advocate of keeping the state in the DOM, in fact back when headless/decoupled was all the hype some folks wanted to add extra informations to the JSON:API response to provide metadata to applications consuming the endpoints, it looks familiar, no?
The BigPipe use case is conceptually the worst piece of Drupal to add HTMX to: there is no ajax request, HTMX events are not available because we work before DOMContentLoaded is fired… but it's a start! the Ajax framework is ancient, it can't be replaced quickly so this is a good first step to see how well it fits.
As a side note, BigPipe and HTML streaming is in Drupal since 2016, almost 10 years! There are a lot of very advanced features in Drupal that people do not know about, the cache system is brilliant to the point that other software are still catching up to it, and I'm not even talking about the contrib space.
If you want to help get HTMX in Drupal check out the core issue, and join us on the #htmx channel. If your project need help with anything Drupal let me know.