I was observing the racing behaviour of Chromium when a server supports TCP as well as QUIC. According to
this document, once a connection with QUIC is established, and requests have started going over HTTP3, it should keep using QUIC's 0-RTT capability. Hence, whenever QUIC-TCP racing is done from thereon, QUIC would instantly win due to the 0-RTT. However, I've noticed that in bad network conditions, QUIC connections shift to TCP at some point in time.
Could someone explain how TCP wins the race in these cases despite lacking the 0-RTT capabilities QUIC possesses?