Curl: (28) Resolving timed out after 3000 milliseconds

The check has nothing to do with PiHole. It’s going to target Unbound directly. Therefore, it doesn’t matter what has been set in PiHole. Even PiHole could be offline without any impact to Unbound.

Are you sure Unbound is working correctly? Looks like Unbound is not working at all. Can you check following

ss -tulpn | grep LISTEN
journalctl -u unbound.service
systemctl status unbound.service