Everybody has different preferences, so my choices may not be for you. But wife and I had two fairly high-end LG phones from 2013 that we loved, but as the years passed and the Android OS was no longer being updated, we had to change phones. Although we loved the phones, the battery life was just so-so, especially as they got older. The last Android update for those phones was 4.1, which does prevent many new apps from working.
I took the smallest of the de-commissioned phones (only 4GB internal memory) and configured it without a SIM card (no phone support) as my mobile audio player. My preferred app is Rocket Player, and it will play constantly for more than a day without any power connections - after a recent 8-hour trip, the battery was still over 70% (and that was with the audio cranked to Max for feeding the car radio from the headset jack)! Not having any phone service configured makes a HUGE difference in how long it lasts. And everything on the phone still works perfectly on any Wi-Fi connection.
Although I really like the Rocket Player, it does not have any casting support, so when I want to play music to my Chromecast Audio devices or other wireless receivers, I use the Hi-Fi Cast app. I never use Bluetooth, as I consider that audio quality is total crap.
The beauty of using a de-commissioned phone as a player is that you can use any app that will run on your OS - if you do not like the features of one audio player, try one of the hundred other options. My new Moto X4 phone has phenomenal battery life, a very fast CPU, and huge amounts of storage, but I still prefer to use a separate device as an audio player. And you do not need high-end hardware to make a good player.