Hello,
I'll go for OnePlus 5, it has advance features and updated hardware and specs price is affordable unlike other brands. If you want to customize your OS builds, you can do it using OnePlus. Rooting is not a problem it will not void your manufacturers warranty.
Cheers