Ok, resolvi isso.
Primeiro, mudei para uma rede em ponte. Eu criei um dispositivo de ponte e dois dispositivos de toque conectados (não tenho um dispositivo de rede na ponte). O servidor UDP escuta em 192.168.192.1 [e em tap0], o TCP em 192.168.192.2 [e em tap1]. A ponte em si recebe 192.168.192.1, mas não acho que isso seja tão importante. Ambos possuem o mesmo arquivo ifconfig-pool-persist.
Isso funcionou, mas não consegui me conectar de clientes conectados via UDP a clientes conectados via TCP ou vice-versa (clientes com o mesmo método podiam falar uns com os outros). Eu adicionei uma regra de firewall:
iptables -A FORWARD -i br0 -o br0 -j ACCEPT
e agora tudo funciona.