Looks like I solved my own problem.
Previously, the pfSense VM had a MAC address that was different from the physical NIC connected to the cable modem. This same MAC was configured as the MAC on the WAN interface in the pfSense configuration and in the VirtualBox configuration. This worked, but only after physically connecting/disconnecting the cable between the host machine and the cable modem or rebooting the cable modem.
The "fix" was to clone the MAC of the physical NIC in both the VirtualBox configuration for the VM and in the WAN configuration in pfSense. Once I did that all was good!
In summary:
CentOS:
Go to: System->Preferences->Network Connections->(your WAN interface NIC)
Under IPv4 Settings tab: set Method to "Disabled"
Under IPv6 Settings tab: set Method to "Ignore"
VirtualBox:
Get the MAC address of your physical NIC connected to the WAN (ifconfig output, whatever you prefer…)
Use this MAC value in the WAN network adapter in your VM config
pfSense:
Use the same MAC value as the above in the pfSense WAN configuration
Now reboot and see if your VM grabs a DHCP address properly.
I'm not sure why more than 1 MAC on the WAN was causing the conflict, especially since only the VM MAC was ever really in use. But this approach certainly seems to have resolved the issue for me. Hopefully it will help others.