Can't get DHCP server to work in dockered Pi-hole

Your compose differs in various aspects from the original suggestions

Specifically (but not limited to), you seem to mount single files where DHCP with docker-compose and bridge networking (as well as Pi-hole's sample configuration for a standard Pi-hole) would do so with directories. This may well be relevant if you'd want lease information to persist.
In addition, you seem to be doing so for non-standard Pi-hole files, e.g. 07-dhcp-options.conf.

Other deviations would include, without being comprehensive (click for details):

I've found the following parts in your config to deviate just be diffing your compose against the original:

volumes:
  pihole:
    expose:
      - 80
    env_file:
      - .env
    networks:
      front-tier: {}

I'd strongly recommend to work with Pi-hole's defaults and the suggested configuration as closely as possible, and then gradually adopt it to your requirements.