The problem with VPN dialers is that they override DNS settings on the clients and configure the clients to use the DNS server(s) provided by the VPN provider instead of Pi-hole's DNS.
There are ways to break out but this depends on the dialer and OS used on the clients.
A while ago, I searched to find a solution for a Windows client but am not sure if works (at least you have some pointers if read whole thread):
EDIT: Or ask "ExpressVPN" if its possible to use your own local DNS server on the LAN ... maybe they have quick answer.
EDIT2: Just realized this bit: "iOS",
if on the road, you'll be needing two VPN dialers if want everything encrypted.
One for ExpressVPN and another to dial into home with OpenVPN where Pi-hole is probably located.