I don't understand why anyone would continue working on the c++ project once the rust one started beating it in performance
To catch conformance issues by comparing two implementations. Perhaps to support obscure platforms only available through gcc.
jxl-rs (rust) is just a decoder while libjxl (C++) can also encode.
There is a rust encoder in active developing by someone outside the core JPEG XL devs.