Name the layers
UDP provides datagrams. QUIC adds transport behavior including secure connection establishment, recovery and streams. HTTP/3 maps HTTP onto QUIC. These names describe different layers; an application using QUIC is not necessarily serving ordinary HTTP/3 pages, and an inner TCP connection carried through a tunnel does not make the tunnel's outer transport TCP.
Observe both directions
A bound UDP socket only shows that a process is ready to receive datagrams locally. It says nothing about whether the client's network permits a successful exchange. Check a real authenticated request and inspect a bounded header-only packet trace in both directions. Repeated outbound packets without useful progress can have several causes, including loss and middlebox behavior. Avoid naming one cause until the rest of the path has been checked.
Keep comparisons small and fair
Use the same endpoint, response body and client for a first reachability test. Then use a sustained workload if throughput matters. A short request can prove a working path but cannot establish stable high-bitrate delivery. Record whether the network changed between runs: a phone hotspot and a wired office connection are separate experiments.
At the terminal
ss -lunp
# Header-only observation; stop after a small packet count.
sudo tcpdump -ni any -nn -q -c 20 'udp port 443'