That sounds like an interesting project. I once had a similar idea, but I tried using a DAC with my phone and I quickly realized it’s a no-go, in order for it to be usable I’d need to put everything in one case, with no cables hanging out of it.
But everyone has different needs, so that’s just something to think about and it’s up to you to decide whether you’d be happy with your setup.
Leaving usability behind, let’s talk batteries. The biggest problem with this kind of setups is that all the components combined will be a huge battery drain. The hard drive is by far the biggest problem, so although expensive, it could be fixed by using a low-power SSD instead. Or just a bunch of SD cards in a JBOD configuration. Only one SD card would be powered up most of the time.
Next is the SBC itself. From my experience, those are more power hungry than a typical smartphone, so you already need a decent size battery even with no external hardware attached. You could save some power by using a monochrome OLED panel.
As for the DAC, it totally depends - just stick to the ones designed for portable usage and you should be fine. For example, my FiiO E17k is quite small and I think it lasts at least 5 hours of normal listening on its own internal battery.
All things considered, you’d need to make lots of compromises to make it fit in a pocket and last longer than 15 minutes on battery
Are you willing to build yourself a clean Linux distribution with minimal power consumption and just enough UI packages to support your OLED screen? Don’t forget you’ll also need to implement the audio player to work with it and probably some custom controls.
I think a relatively powerful MCU, such as ESP32 (or maybe something more powerful) could do a better job, as you don’t actually need a full Linux-compatible computer to decode FLAC files and push them into a USB DAC. The key advantage here is that this kind of devices can last days on a battery from an old dumb phone.