I've tried this using both the OSS and pulseaudio backends.
When I use a site such as Discord, Firefox will show a list of /dev/dsp* devices to choose the input from. However, selecting a non-default device doesn't actually change anything.
I have a mic that maps to /dev/dsp2 (the default), and a webcam that maps to /dev/dsp6. When I switch from 2 to 6, the browser still takes input from 2.
If, in pulseaudio, I set the default to dsp6, changing the input from 6 to 2 in the browser does nothing. All input still comes from dsp6.
It used to work. I had to go into the settings and change the input device every time, as I prefer the webcam mic. Not sure when it changed, sorry.
Running FreeBSD 13.0-RELEASE on amd64.