If the router provided by my isp won't allow me to change the dns server, is there a workaround for having to set the local dns server on each device that doesn't involve getting a new router?
Use the pi or whatever little computer that's presumably hosting the pi-hole software to also be a DHCP server (and turn off the DHCP server on ISP's router). It can then advertise itself as the DNS server.
Most cable modem router combos have the ability to turn off the router part and just act as a modem in Bridge mode. If that's an option, you can get your own router to handle local traffic, including dhcp (and thus dns) for all your local devices.
Obviously, this goes against your request not to get your own router, but I thought I'd mention it in case you thought you would have to buy your own modem as well (which you are also free to do, assuming your isp supports customer-owned modems). The modem part can stay the same while having a separate router not controlled by the isp.
If your particular unit doesn't allow that, you can usually still locally override dns settings, though this is more for computers and phones than it is some smart home devices. iPhone and Android phones will let you specify dns ip addresses when you set up a wifi connection. Just edit the wifi config and change to a static ip. You can usually safely use the ip address given to you from dhcp, so make a note of your device ip address before changing it to static, and just use the same values. Then you can manually set the dns ip address.
You can use a second router and pass through the WAN. It’s a bit complicated to explain in a comment, but it’s also not too difficult. Is your ISP ATT?