I recently purchased a USB headset (Razer Kraken Tournament Edition), which separates the audio input/output devices.
So the input device is "Razer Audio Controller - Chat", and the output device is "Razer Audio Controller - Game".

All other apps I've tried (Discord, Microsoft Teams, Slack), as well as the Steam voice settings from the friends list work correctly.
However, Dota has only a single option for sound device, so setting this to "default" or "game" will give me sound only with no microphone, whereas setting to "chat" will instead have no sound through the headphones.

I believe this may be because Dota uses the old steam voice settings. Clicking "steam voice settings" from inside the Dota options opens the "old" steam settings interface (not the same as through the friends interface), and this old interface also does not register microphone input, even with "chat" selected.