Navidrome does that. You have to setup a PC, or a raspberry Pi with navidrome, and then use a client like Symfonium (costs $5, not open source, but it's the best subsonic client out there), and tell it to automatically downconvert music when played via the phone. I have a Raspberry Pi 3B+, with just 1 GB of RAM, running navidrome. DietPi + navidrome (which is installable directly via dietpi's software selection), together they take just 80-120 MB of RAM!
I had Jellyfin before that, and Emby, and they were dogs. 1 GB of RAM was not enough for them, they'd swap with an additional 200-300 MB of RAM. And they were slow with large music libraries too. Navidrome/Subsonic don't have such issues. Big music libraries are handled fast with their db/engine.
If you prefer to not use a server, there are encoding shell scripts that do batch-encoding: https://github.com/caleis/flac2mp3/blob/master/flac2mp3.sh