Whichever phone you get, you should go through the trouble of running Universal Android Debloater to remove all the crap that comes pre-installed. This dramatically improves the experience of basically every phone.
Any older flagship phone will be a good choice if you're on a budget. Newer phones will have the advantage of less wear on the battery.
The specific suggestion I would have is a Galaxy S21 FE, which is what I'm currently using. If you want one with a 3.5mm jack, then I think the Galaxy S10e is an awesome option (although it's getting pretty old, and so probably won't have good battery life).