What's the difference between "TLS over UDP" and Quic? Did you compare your solution to some Quic implementation?
Also, how was CPU usage? In my experience UDP-based stream protocols do signifanctly worse (I assume due to user-space scheduling and unoptimized hot paths). This may be particularly relevant for laptops and mobile.