Hello,
Data channels use SCTP over DTLS, and SCTP as implemented in RF9260 has a congestion control algorithm very similar to TCP Reno, from ~2000. A significant amount of research from the last 25 years has not yet made it into SCTP - at least the implementation that WebRTC is using, which is quite close to the original RFC. I don't know what algorithm your QUIC example was using, but it's probably BBR or CUBIC, and I would expect them to perform much better in this scenario.
If you want to improve the performance, please experiment and figure out what's wrong. Perhaps there is a bug specific to your scenario, or a limitation in the current congestion control algorithm. You mentioned Rust: there is a Rust port of the SCTP implementation we're using (
https://github.com/webrtc/dcsctp) that we will migrate to eventually if that's easier for you.
Thanks,
Victor