I now have a SYN packet passing through the NAT rule to the LAN NIC. I am NATting to a Windows VM in Azure. I added Wireshark to that VM. The SYN packet never reaches the VM.
Also, I can ping the LAN NIC from the VM (I added a firewall rule), and I can ping the VM from the pfSense server using an SSH connection.
On the Azure VM network security group, I have opened access to anything from the Azure local vnet.
On the Azure VM, I have disabled the Windows Firewall.
On the pfSense LAN NIC, I have added a firewall rule to allow all TCP traffic.
So it looks like the packets to be NATted are being blocked on the way out of the LAN NIC.
Any ideas? anyone?