[Redmi K20 / Xiaomi Mi 9T Questions & Answers] zgfg:
Let me try to recall. Maybe I did some unnecessary steps and if I will go again I would try to do it in a more elegant way:

I had

- QFJEUXM v11.0.6

- Hasty kernel

- Magisk Canary, BusyBox for Android NDK (Systemless module, not app from Playstore) and several other Magisk modules

- TWRP 3.4.0

I never used any custom ROM, I never messed up with Persist, formatting Data, FDE and so - and it was not needed here either!!!

I did some backups but TG didn't need to use them, everything was preserved.

So I didn't remove Google or Mi account, didn't even remove lock-screen Pin (probably would be safer, just in case)

Maybe it was not needed but I flashed stock boot.img (to get rid of changes done by Hasty and Magisk).

I rebooted to Android and ofc lost TWRP - I had to flash it from fastboot again.

So I should have rebooted first to TWRP and only then to Android - that way TWRP would be preserved

Then I rebooted to TWRP and flashed nethunter-2020.2-davinci-miui-ten-kalifs-full.zip

Again I did a mistake (I was discussing something with my wife?) that I rebooted to Android and lost TWRP - I should have rebooted first to TWRP to preserve it

So I flashed TWRP again, booted to TWRP, made a backup of Boot image.

Booted to Android, opened Magisk Manager, patched the backed-up boot.emmc.win (Preserve DM and Preserve Encryption both On, Recovery mode Off).

Rebooted to TWRP, wiped Dalwik and Cache, and flashed the patched Boot img.

Rebooted to Android and I had Magisk with all my previous modules (incl. e.g. Viper4Android, BusyBox, etc).

Probably just flashing Magisk zip through TWRP would also work (but I usually prefer patching method)

Everything (apps, data, settings incl. unlock PIN, etc) was preserved.

It means also stock GApps, my Google account, Google apps (you name it) - all continued to work as in the stock firmware

Opened NetHunter app and Kali Chroot manager - granted root and other permissions.

Also, open Custom commands and Update Kali Metapackages (do it every few days to stay up-to-date)

Open also (I forgot, did it few days later), NetHunter Store, Settings, Expert mode and untick Privilege Extention.

Let it update NetHunter app

That's it, to my best memory

Edit:

One more tip, not related to NH but generally to SafetyNet and unlocked Bootloader

Install Magisk Hide Props Config (Magisk module) and reboot.

Run props from Terminal, choose Edit custom props (not Fingerprint option) redefine ro.product.model to e.g. Unknown and reboot - now, SafetyNet will pass!

Ofc, you should have Magisk Hide option in Magisk Manager ticked on (must be rebooted upon)

If Playstore shows Device is not certified, it can be easily fixed:

- AirPlane mode on

- Settings, Apps, Show System apps

- Search for Google and for Playstore app, Services and Framework do Delete Cache and Data

Reboot, AirPlane off, give a time for Playstore to sync and it will show Device is certified

PS:

For Ctrl c command (you will need e.g. for Wifite nethunting), install Hacker's Keyboard from Playstore

Whenever you need terminal, you can use NetHunter terminal (Android option) - it's better than Terminal app from Playstore.

How hunting can look like:

https://mega.nz/file/p5VlRA6b#btALUgFkxxJn0aZQdHs-oLVwTdeCKLSFsTfJrO4dbGc