Automatic bit-depth in JRiver selects the highest bit-depth that your device supports, it does not automatically switch bit-depth based on the source.
You should
always be using the highest bit-depth that your device supports.
It is never harmful to output a higher bit-depth than your source, this is not "upsampling".
If your 16-bit source is: 1111111111111111
Then a 24-bit output is: 111111111111111100000000
And a 32-bit output is: 11111111111111110000000000000000
These are functionally identical.
The advantage of doing this is that you no longer have to wait for the DAC to switch modes, since it's always using the highest bit-depth supported.
If there is any processing applied to the audio (even volume control is "processing") then it will always be performed in the highest quality possible.
If you reduce the volume by 12dB in 16-bit with a 16-bit source you have: 0011111111111111
If you reduce the volume by 12dB in 24-bit with a 16-bit source you have: 0011111111111111
11000000
If you reduce the volume by 12dB in 32-bit with a 16-bit source you have: 0011111111111111
1100000000000000
Two bits would be lost if your output was 16-bit, using a higher bit-depth retains those bits.
3. Bit rates. Yggdrasil uses the MCB filter on any incoming bit rate below 352,800 Hz.
Sample Rate, not Bit Rate.
(I'm sure you knew this and it was just a typo, as your reply was quite technical - just correcting it for anyone that didn't know)