Linux does a miserable job at audio with multiple sound cards. For many years I've had two sound cards: one on-board and one add-in card. To this day Linux randomly assigns the sound card order upon boot so it's a crap-shoot to get the sound card you want as the default card without manual configuration.
I've tried setting the default in Ubuntu but that never seems to take hold. The only way to get the same sound card as the default (aside from running a script on boot that calls 'asoundconf set-default-card 1' is to edit the alsa-base.conf file in modprobe.d/ and explicitly set the index of the card I want to 0 and the rest to -2.
To me this level of configuration detail is unacceptable. In Windows if I have two sound cards and the wrong one is chosen as default, I simply open the sound options, select the sound card I want as default and I never get bothered by it again. Why can't it be that simple in Linux regardless of whether we're using OSS, ALSA, or PulseAudio?