All in all, I think most people should go for either Mi Box S or Nvidia Shield TV before considering boxes like Beelink GT1 Mini, Tanix TX5 Max and Mecool KM9 Pro.
Of course I understand there is a big gap between Mi Box S and Nvidia Shield TV. What are the use cases that you want to buy Nvidia Shield TV and not Mi Box S?
1) Nvidia Shield has much faster CPU and GPU than Mi Box S' aging S905X CPU. Its 3GB RAM and 16GB storage are also better than Mi Box S 2GB/8GB configuration. So if you want the best experiences among Android TV boxes and do not mind paying the premium, by all means go to Nvidia Shield TV.
2) If you want to have the best gaming experience among Android TV boxes, go get Nvidia Shield TV. Mi Box S is not a good choice for gaming.
S905X2 boxes like Beelink GT1 Mini and Tanix TX5 Max are also better than Mi Box S in terms of gaming.
3) If you want higher end audio feature like lossless Dolby True HD Audio or Dolby Atmos for local/NAS media playing, get Nvidia Shield TV. It has Gigabit Ethernet and USB 3.0 which also help.
And for local/NAS media playing, the S905X2 boxes are also better than Mi Box S in terms of 4K file processing, Ethernet and USB 3.0.
Mi Box S is okay for this purpose and test shows occasionally frame drop for more demanding 4K file formats.
4) Mvidia has good track record in updating the FW of Shield TV. Xiaomi screwed up initially when upgrading the FW of Mi Box Global version from Android 6 to 8. There are less complaints now. Mi Box S comes with Android 8.1 so it is better.
For Mi Box S, you can use Ugreen USB Hub with Ethernet to help to address the lack of USB ports and Ethernet. It has good WiFi. But if you put Mi Box S far away from router, you may want to add Ethernet.