Good luck
I use foobar2000 for my local files, often Spotify for streaming, sometimes Tidal as I'm trying to get rid of it, YouTube and more.
foobar2000 with ASIO or WASAPI drivers will set the sample rate as needed. Tidal set up correctly will set the sample rate as needed. The most feasible solution I can imagine is an app that monitors if these are running, and sets things back 44.1 kHz when they aren't running anymore. That would solve it for me.
So you would require a solution that detects that Kodi is running and sets the output device to 48 kHz. If you're diligent about only running one of the apps at any point in time, you could create a batch file that first sets the required sample rate for Kodi/Spotify/Play Music, then starts the respective app. Change your desktop link or start menu entry or what have you to the respective batch file, and use that to start the apps.
That requires a command line tool that can set the bitrate for a particular sound card... wondering whether that already exists...
That is nasty! Are you sure MusicBee isn't still running something in the background after you "exit" it? Is there an icon for it in the systray (you probably know what I mean, but to be sure: bottom right on the taskbar, make sure to click the arrow as well)?
I don't think the DAC/sound card used makes a difference, apart from what drivers it supports (no native ASIO for Schiit anymore, at best ASIO4ALL).
Edit: though testing would be easier with a DAC that clearly shows the sample rate it's seeing.