Pihole does not resolve .local addresses anymore

I disagree.

As pointed out by Dan and jfb, `.local` is the default mDNS domain name. (click for details)

Regardless from the issue at hand, it's good advice to avoid mixing it with plain DNS.
Especially if you'd have clients that do and don't support mDNS on your network, you'd get inconsistent or conflicting hostname resolution results. Depending on your client's configuration, your client may prefer to resolve .local names via mDNS exclusively, giving you different results than a query through a DNS server.

Resolving homeassistant.local should work without Pi-hole ever getting involved (or any DNS server, really) - as long as your homeassistant machine and your connecting clients are mDNS-aware (mac/iOS clients are, Linux can be (with avahi), Win10 supports it as well).

Since homeassistant.local was working before, it may well be that you have introduced or furthered the resolution problems you observe now by starting to define domains and hostnames featuring .local.
Try if removing those definitions would get you back working.

Also, check your network for possible mDNS interferences:

  • mDNS uses port 5353, and IP 224.0.0.251 as multicast address. Make sure those are not blocked by your router or any (recently introduced) server-side or client-side firewall rules
  • verify that port 5353 is not in use by other (recently installed) software on your homeassistant machine (e.g. unbound)
  • make sure your homeassistant and clients are on the same network segment - mDNS clients only exchange and maintain a list of .local names for other clients on that same network segment. E.g. you may have pushed your homeassistant to a different segment if you'd have recently connected either it or its clients through a new AP.
  • check your spelling: your dig results are for homeassitant rather than homeassistant

It may also be easier to configure your clients to connect by a hostname you know to be working, e.g. homeassistant.home.