For one, because it's easier in Rust (this goes back to the developer experience and tooling again). But we've now gone from "here's how Rust and C++'s ABI guarantees differ" to "proprietary vendors might not have the easiest time in either language," which is a significant deviation.
they could do this in C++ also but they overwhelmingly don't, I don't see why they would in any other language for the same target applications