Nomad sidecar proxy stops working when using loopback interface

I have a test cluster in which I have a simple nomad workload with one upstream and one frontend. It works as expected (consul intention controls access properly) when attaching the workloads to my eth0 interface, but as soon as I try to switch to using the loopback interface (using client.network_interface) in the config file to lo, the jobs spin up as expected, but the mesh proxy functionality no longer works, instead I get the following error:

upstream connect error or disconnect/reset before headers. reset reason: remote connection failure, transport failure reason: delayed connect error: 111

and, if I hammer curl, it will intermittently instead give me the following instead:

no healthy upstream

There is no attempt by nomad to redeploy, and after a little bit, my error switches to the first one again. Anyone who has any idea what’s going on here? Seems the recommendation is to run the workloads on localhost, so there doesn’t seem to be anything wrong with the idea, but I can’t figure out what I am doing wrong. Any suggestions?