@dr1m
Running on memory here.. afaik haproxy is 'subscribed' to carp events, and as such should be able to start soon after becoming master..
https://github.com/pfsense/FreeBSD-ports/blob/084b4ad9f65198720720f84d04eeed7c441ed49c/net/pfSense-pkg-haproxy/files/usr/local/pkg/haproxy.xml#L52
dont have time to check why that might fail now.. way past bedtime already here..
As for having haproxy run on both nodes, there isn't much of a downside besides that 'healthchecks' will be fired from both haproxy instances and might increase the load of the webserver a little bit..