OctoPrint is meant to be used with many different 3D printers and their default firmware. But that also means it is restricted to using a common interface most printers support, and there isn't anything else than sending text-based G-Code directly. And even that has varying levels of brokenness on different printers, the manufacturers don't seem to care that much about interoperability.
Switching out the entire Firmware, which is what you need to do to use Klipper is an entirely different thing than adding a nice web UI in front of your existing 3D printer.
The author of OctoPrint also said that she tried at some point to convince people to define a binary G-Code format, but apparently that went really badly. A more efficient format for transferring the data to the 3D printers would help to avoid the problems OctoPrint has to fight to get reasonable performance when printing. But it does not seem feasible to get the manufacturers and firmware writers to agree on anything there.