I would use the DNS Resolver in 2.2.2, put overrides in for local hostnames, and give the local pfSense IP address to my local clients to use. If having two is important, then by all means have two local DNS servers.
The name servers configured on the clients must all return the same answers to the same queries from the same sources for the same information. If there are two name servers configured like that, great. If not, you will get different behavior depending on which server the client decides to use.
There are terms used like "primary and secondary" when it comes to DNS resolvers. There is no such thing. If a client has more than one DNS server defined it can do anything it wants with them. Query one then the other in any order. Query both at the same time and accept the first answer it receives. Query one, wait for a timeout period, then query the next in any order. It is completely up to the client and they all behave differently so, I say again, all the servers set in the client have to return the same answers to the same questions from the same sources.