I'm somewhat late to the party, but after trying various devices and playing around with all sorts of dongles, I did the following. I grabbed a xiaomi phone on special from ebay, making sure it had a 3.5 headphone out. Any other phone will do, but there's a reason I grabbed a xiaomi. They make unlocking the bootloader easy. Anyway, android has its nuisances when it comes to audio resampling and being a rather bloated OS. So, I flashed LineageOS to the phone and sideloaded the music apps I wanted to have. The phone has no other apps, google services or anything else left. This basically makes it a DAP with a sim card slot. I run various easy to drive IEMs from this and use it as a USB source into my AMP. Both work great. Sound quality on the 3.5mm out is very similar to what I get from my apple dongle on my ipad so I have not bothered with dongles. This is of course personal, but I use this device while on the move and the quality is good enough. At home, I hook it up to my amp and using UAPP I can just play whatever quality my source files are.
The disadvantage of this set-up is that it takes a bit of tinkering and it lacks the "hifi seal of approval" many people seem to look for.
The advantages are that it is cheap, can be updated and that it runs like the clappers due to the lighweight OS. In case of emergency the device can double as a mobile phone and it looks distinctly mundane and cheap, which probably keeps would be pick-pockets at bay.
This approach would be less ideal for hard to drive headphones, but it could work with a dongle. I have not felt the need to try this though as I use IEMs when out and about.