Ao monitorar conexões de rede usando o Little Snitch, descobri que a Apple usa o aplicativo mDNSResponder em segundo plano para verificar se a conexão Wi-Fi está disponível. O mDNSResponder envia pacotes UDP para servidores de nomes para verificar a conectividade e resolver nomes de host para IPs.
Alterar a regra UDP que eu tinha anteriormente para permitir todos pacotes UDP via Wi-Fi permite que o mDNSResponder se conecte, o que significa que o Wi-Fi agora se reconecta pela primeira vez após uma desconexão. No caso de ajudar os outros no futuro, o meu pf.conf final, incluindo as regras padrão da Apple para o Mountain Lion, é assim:
#
# com.apple anchor point
#
scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"as
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
#
# Allow connection via Viscosity only
#
wifi=en1 #change this to en0 on MacBook Airs and other Macs without ethernet ports
vpn=tun0
vpn2=tap0
block all
set skip on lo # allow local traffic
pass on p2p0 #allow AirDrop
pass on p2p1 #allow AirDrop
pass on p2p2 #allow AirDrop
pass quick proto tcp to any port 631 #allow AirPrint
pass on $wifi proto udp # allow only UDP packets over unprotected Wi-Fi
pass on $vpn # allow everything else through the VPN (tun interface)
pass on $vpn2 # allow everything else through the VPN (tap interface)
Isso significa que agora os dados podem ser vazados pelo Wi-Fi pelo pequeno número de aplicativos que usam o protocolo UDP, infelizmente, como ntpd (para sincronização de horário) e mDNSResponder. Mas isso ainda parece melhor do que permitir que os dados passem desprotegidos pelo TCP, que é o que a maioria dos aplicativos usa. Se alguém tiver alguma sugestão para melhorar esta configuração, comentários ou outras respostas serão bem-vindos.