I have a typical dac audio interface attached to my Mac for sound OUTPUT. (Just TBC, I don't use it for input, only output.)
This is a MBP 16" 2019, hence with four Thunderbolt3 (USB-C) ports. I happen to have an AWC 1->3 Thunderbolt4 hub (in fact I tried the Arturia both on the hub and directly on one of the four laptop ports, no diff)
It's a Arturia 2 (but really they're all the same). I connect the Arturia to the laptop obviously with a USBC-USBC cable.
The Arturia is bus powered. It is "USB-C interface compatible with PC and Mac, fully USB 2.0 compatible". (You can get actual thunderbolt dacs but they are still $expensive.)
You simply set System Settings -> "Sound" output to the interface, see image, and, it works perfectly.
HOWEVER on restart - the setting is lost and it reverts to one of the standards such as headphone out or laptop speakers.
Also as a curiosity: "sound effects through ..." is endlessly set to "headphones", even though, I would never use that (I'd just use "laptop speakers" if not using an audio interface).
I did try removing everything here /Library/Preferences/Audio
and restarting a few times, but no difference.
The Arturia (like most dacs) is completely plug and play. You can install some software they provide (it does the typical thing of letting you toggle the leds etc) but it does not affect in any way the actual "connection" of the device; in all events I tried things a few times both with and without the supplied software, no difference.
Note that on a Mac annoyingly you can seemingly set the audio output device on EITHER (or BOTH?!) SystemSettings#"Sound" AND/OR "AudioMIDISetup". I have tried all combos of doing one or the other or both; doesn't seem to affect the problem I'm having.
The chosen output is lost after a mac restart.
Any ideas, TY
/Library/Preferences/Audio
is that it contains a file within it called com.apple.audio.SystemSettings.plist - so, after deleting everything and setting up your sound preferences again, check to see this file is there. Assuming it is, then do a reboot and check again to see if this file is there.