I don’t have an ES9, but I use a Percussa SSP in the same/similar way.
(Percussa SSP is a 16x16 usb audio interface)
assuming your ES9 is working with VCV standalone correctly, then its safe to say, its not an ES9 issue. (the ES9 is just an audio interface as far as macOS is concerned)
really the main question here is…
how are you getting audio out to your speakers/headphones?
there are two ways…
DAW → VCV Rack vst → ES9 → output module → speakers/headphones
so here the modular is used as the final output stage.
in this scenario…
Ableton audio preferences , set to ES9
in VCV Rack 2 VST/AU , audio device use DAW as audio source/destination
(then just remember to arm your tracks in ableton)
however the more common use-case, is where you want to use a second audio interface to connect to speakers/headphones , and just use ES9 to interface to your rack
e.g.
DAW ↔ main audio interface → speakers/other synths etc.
DAW ↔ VCV vst → ES9 → eurorack modules
theres a couple of ways to do this.
a) direct connection
Ableton - set to your main audio interface
VCV Rack vcv2 → audio device 1 , set to ES9 , audio device 2, set to DAW
so here, when you want to send/receive audio to eurorack you use the audio device 1.
but you then need to return some audio back to the daw and so you use audio device 2.
b) aggregate audio device
macOS allows us to create aggregate audio devices, so we basically see multiple audio interfaces as ONE.
e.g. your main audio interface may be channel 1-8, then ES8 9-16.
you can do this via the audio/midi setup tool,
however, I prefer to use Rogue Amoeba Loopback as its more flexible.
there is also a free alternative called Blackhole.
note: Ive never used Blackhole, as I bought loopback before it existed.
and frankly, Loopback is excellent, well worth the $… but try Blackhole first
unfortunately, without know your exact setup… and use-case I cannot really say what your issue is, but hopefully the above has the info you need.
I will say, personally, I use the aggregate w/ loopback mostly, as it’s easier in my setup… but all of the above work fine.