I was having same problems as you:
turn off "high accuracy gps", "Wlan and bluetooth scanning", and if rooted install the Magisk "Universal GMS Doze" module.
I have MI 9T and I also installed this:
Hey Guys, i've made a script to debloat MIUI and to install some Kernel optimizations at the INIT.D folder plus anti Google Play Services Wakelock Script (at INIT.D as well). Usually i use it on ******** and MIUI-MIX but it should work for...
forum.xda-developers.com
which does, I believe, more or less, the same job as "Universal GMS Doze" plus some kernel optimizations.
I don't know if there's something similar for MI 9 too.
I was going nut with 10% - 13% overnight battery drain, now I'm getting 0% - 1% loss and no lags with same settings.
I hope xiaomi.eu team would consider to add this scripts in their roms because it's working like a charm.