I finally got it working. I ditched the eBGP package on pfsense and switched to FRR. After some tinkering here is what I had to do:
Created a "loopback" address which is a VLAN assigned to my LAN interface with a /32 address.
Enabled FRR and set the router ID to the loopback /32 address in the global settings.
On the BGP settings I set the Local AS and configured the peers.
Once I did that all of the edge nodes picked it up and BGP routing is working.