There was authentication packets exchanged, but no association packets.
wireshark on wlan0.mon confirms this.

I am not using a bridge, but rather forwarding packets with iptables.
iptables rejected no packets during this exchanged and dnsmasq was never contacted.

Any suggestions? I would have expected association packets being
exchanged between hostapd and the client after authentication but none
ever come. I have attempted this with multiple devices running
different OSes with the same results: connection timeout.