Note that you can totally do all of those if you root your device. Highly recommend.
If you want rooting and a bunch of storage, your non-cheap options get harshly limited. Looking for such a phone over the last few months, the options for my carrier were Motorola or bust. Which means getting an Edge, which are goofy and expensive and have defective screens.
So I gave up and got my first unrootable phone, from Samsung.
You _can_ install it with Magisk (which also provides root) but it can also be flashed as a regular flashable ZIP (which just requires an unlocked device).
Last (and best) of all, it can be added to an unrooted ROM. RattlesnakeOS[0] for example includes it.
edit: typo