I work with firewalls all day long and every other major brand out there (CheckPoint, Fortinet, Palo Alto) implements geo-blocking as a separate process outside of firewall rules, otherwise you get the things I complained about.
But with pfSense, I guess I'll have to re-order and manipulate things to get what I want. Obviously it works fine with blacklisting, but with whitelisting, allowing North America does nothing to block Russia.
Then change it to a rule that blocks everything except your work IP.
I didn't need to do that before I implemented GeoIP blocking. It was already assumed by my original rule. Now I need to add a bunch more.