That's correct. I have all of my FreeBSD (based) boxes set up as a standby firewall/router regardless of what their primary function is with carp(4), pf, et.al. It's trivial to set up a standby firewall/router or have a server double as a standby firewall/router.I guess it depends if you're running a pure firewall only with NAT or with a lot of other feats. That can consume a bit more.
You could call FreeBSD a RAIF/G/R; redundant array of independent (or inexpensive) of firewalls, gateways or routers.
It's one of the most fundamental functions of FreeBSD that works exceptionally well. The same thing can be done with OPN and pf Sense as they're both FreeBSD based.