HAOS Running on TrueNAS Scale VM - Cannot access some external URLs

I have a server running TrueNAS-SCALE-22.02.3, and HAOS running on a virtual machine. Most of Home Assistant is working correctly, for example the add-on store and updates work as expected.

However when I went to install HACS I was unable to install from the URL, and after a manual install, it fails to connect to Github (as in, it errors before any input prompt with “Could not authenticate with GitHub, try again later.”)

Trying to ping google in the Terminal fails:

However if I access the VM directly, there is no issue:

The problem appears to be within Home Assistant (or how it’s accessing the network via the VM) but I’m not sure where. It has a separate IP address to the Server: Home Assistant is set to use DHCP and my Router is setting a static IP of 192.168.1.70.

All signs point to a HA Supervisor DNS issue, which makes sense given that the VM’s CLI works just fine.

I found this closed issue from 2020 with the same sort of problem:

This could be related to Eero routers, which I have. The issue is HA incorrectly detecting the DNS nameserver from the router - and this appears to be correct, if I run HA in DHCP then it detects the Router’s IP instead of the correct DNS nameservers. But I’ve already configured HA to use a Static IP and the DNS servers:

msedge_6EtL0cVBlx

So running ha dns info shows the correct DNS servers:

fallback: true
host: 172.30.32.3
llmnr: true
locals:
- dns://1.1.1.1
- dns://1.0.0.1
mdns: true
servers: []
update_available: false
version: 2022.04.1
version_latest: 2022.04.1

But it still does not work, and the fallback suggests that something is failing?

ha dns logs suggests coredns is failing to start:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] corefile.sh: executing...
[cont-init.d] corefile.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
./run: line 5: /usr/bin/coredns: cannot execute binary file: Exec format error
./run: line 5: /usr/bin/coredns: No error information
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

But ‘no error information’ isn’t giving me much to go on.