if I point Filebeat to a Logstash host with a DNS name of logstash.service.consul, which resolves to three IP addresses, can I expect Filebeat to load balance traffic across these three IP addresses?
No.
I'm wondering how/when Filebeat resolves DNS
Filebeat queries for a list of all known IPs for some given host name.
how/if Filebeat handles DNS records that resolve to multiple IP addresses
Filebeat selects one of the IP-addresses by random and attempts to create exactly one network connection.
You want to enable load-balancing either add all known IPs or set output.logstash.worker: 3
in filebeat.