> I wonder if io_uring could be used to issue a single syscall that would read data from disk (actually using page cache) and send it on the network.
Only if you don't care about HTTP/2 and TLS. And if you don't care about those, you can as well do sendfile() from a thread.