What causes ssh to return Network is down?
SSH is just the messenger, and is likely calling strerror(3) or equivalent on a bad exit code from some socket call:

$ find /usr/include -name "*.h" -exec grep 'Network is down' {} +
/usr/include/apr-1/apr_errno.h:#define SOCENETDOWN             (SOCBASEERR+50)            /* Network is down */
/usr/include/sys/errno.h:#define        ENETDOWN        50              /* Network is down */
$ 


If we dig around in the system man pages for ENETDOWN this will turn up documentation...

$ find /usr/share/man -type f -exec grep -l ENETDOWN {} +
/usr/share/man/man2/connect.2
/usr/share/man/man2/connectx.2
/usr/share/man/man2/intro.2
/usr/share/man/man2/send.2
...


Though not much as connect(2) or intro(2) merely indicate

 [ENETDOWN]         The local network interface is not functioning.
...
 50 ENETDOWN Network is down.  A socket operation encountered a dead net-
         work.


Is IPv6 working on this host? You'll probably need to debug with ping6 (not ping) and maybe check the IPv6 settings via some clicky interface or instead ifconfig and netstat -rn.

To avoid the GUI, the network settings for IPv6 can be adjusted with something like

sudo ipconfig set en0 AUTOMATIC-V6


see the ipconfig(8) manual for details.