Или я ошибаюсь, и параметр backlog в listen() ограничивает не число одновременно живущих соединений, а что-то еще?
да.
ListenBacklog - The maximum length of the queue of pending connections
параметр ListenBacklog задает максимальную длину очереди ожидающих
подключений на каждый listening socket, а не максимально возможное
количество одновременно обрабатываемых запросов / занятых воркеров.
The behaviour of the backlog parameter on TCP sockets changed with Linux 2.2. Now it specifies the queue
length for completely established sockets waiting to be accepted, instead of the number of incomplete connection requests. The maximum length of the
queue for incomplete sockets can be set using the tcp_max_syn_backlog sysctl. When syncookies are enabled there is no logical maximum length and this
sysctl setting is ignored. See tcp(7) for more information.