I know lot of you are going to laugh at me for this post but I recommend when your purchase a new device to give it time to "break in", on my x800 I flashed a few ROMs to gain performance and bug fixes and the sound quality and output volume I had with the stock ROM was gone, so I was baffled then I found a developer and I asked if he could increase the headphone output volume in his custom kernel which he did cause that guy is just awesome and the same....just a bland recessed sound so I gave up that night and while listening to some tunes before bed it magically kicked in because the kernel finally settled in I had to drop the volume about 4 clicks down and the sound became more "present"....placebo? I did a full reset...same...at first bland then over time especially with HIFI on and a couple max volume spurts (not with headphones on of course) the same magic happened. I browsed the system folder I found the xml files the developer edited and this phone has many xml files for output, dolby and sampling....long story short I returned to full stock ROM and recovery and I got the same low output "internal DAC" sound and over two hours its the same I had to drop the volume and I'm hearing full sound with amazing vocals, my guess is the system takes time to check the audio circuitry for defects and load the xml files which tell the OS how to handle audio playback, I tested with different headphones and all of them I had to lower the volume and I did the test with other people at the same volume and they asked if I did something. So those are my findings laugh or try it for yourself.
You may like to have a deep down discussion with @WindowsX. He is the owner of famous Fidelizer program. He can help you verify whether kind of "burning-in firmware" has real effect to the sound.
From my experience, when using his fidelizer, I can sense improvement since first second I listen to so I am not quite sure in this...