In my experience HDMI < USB audio interface < gpio soundcard. I used the HDMI but it wasn't great quality and it seemed to have a weird gate when you initialise it. meaning the first note I played was always silent. I had a Behringer U222 usb audio input, perfectly fine with my PC, but as I've already mentioned the usb host for the rpi can have some odd mercurial issues on the Pi 3, Mine used to cause hanging notes when I used a particular synth engine and which you can get around as long as you don't want anything that uses usb2.
I now use a HiFiBerry DAC+, lower latency than the usb, 192kHz/24bit vs 48KHz/16bit for the usb.
The HiFiBerry DAC+ ADC has stereo line in too. Other (cheaper) gpio soundcards are available. Obviously the downside is it doesn't do MIDI. But you could use a cheap usb to midi adaptor. Or there are serial to midi schematics available, such as the one for the Zynthian. But I suppose at that point you're probably better actually getting a Zynthian.