DNS can be empty. but if you use Static IP you should add the Gateway. Best is to define Everything. PiHole always can make Problems.
You are absolutely correct, adding gateway fixed the issue.
As a side note, I think it would be beneficial if shelly could tell if it is not connected to the internet. Currently, it just tells you that your firmware is the latest if you check in the web interface.