Ah, conserte-o executando o seguinte em B (o telefone):
iptables -t nat -A POSTROUTING -s 192.168.43.0/255.255.255.0 -o tun0 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.43.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -j REJECT --reject-with icmp-port-unreachable
Isso praticamente corresponde à configuração básica usual para um servidor VPN; Eu estava tendo problemas porque fiquei confuso sobre qual rede era qual, qual interface era qual, e então, quando eu tinha aqueles certos, percebi que ainda tinha o gateway errado configurado em C.