[Redmi K20 Pro / Xiaomi Mi 9T Pro ROMs, Kernels, Re] Peter the Great:
You didn't try the proper steps then. You must:

1. Hide Magisk Manager in the Magisk Manager settings

2. Enable Zygisk in Magisk Manager

3. Install Universal SafetyNet Fix Magisk module (from kdrag0n GitHub repository)

4. Install Shamiko Magisk module (from LSPosed.github.io GitHub repository)

5. Select all checkboxes (tapping on an app to expand it will allow you to check all the boxes at once by checking the box right next to the app's name. If you check the box next to the app's name without expanding it first, it won't check all the boxes) for Google Play Services (enable Show system apps in the 3-dot menu in the top right corner to see Google Play Services), Google Pay, and all other root-detecting apps (like banks and games) in Configure DenyList in Magisk Manager settings (do not enable Enforce DenyList toggle, leave it disabled)

6. Reboot phone

7. Check if SafetyNet passes with YASNAC app (on Google Play Store)

8. If bank apps still detect root, it's because they're checking for installed apps, continue following the steps

9. Install LSPosed Magisk module (from LSPosed GitHub repository)

10. Install Hide-My-Applist app (HMA, from Dr-TSNG GitHub repository)

12. Open HMA, press Install Magisk Extension

11. Open LSPosed app, install Parasitic Manager when prompted (also available in LSPosed settings), then uninstall the LSPosed app (not the shortcut, the original app) from your launcher

12. Enable HMA module and check System Framework box in LSPosed module settings

13. Reboot

14. Open HMA app, press Manage Templates, press Create a blacklist template, give it any name (I did "Root"), press "Edit list" for app invisible option

15. Check each app's box that you don't want banking apps to see, I recommend checking all apps that use root and all "advanced"/tinkery apps (like Termux, F-Droid, etc.)

16. Press back, then press the save icon in the top right, then press back again

17. Press Select Effective Apps, then one-by-one, for each app that detects root, do the following: Enable the Enable hide option, enable the Enable all hide methods option, and enable the template you created earlier (for me it's "Root") in the templates applied option. Press the save icon in the top right and repeat for other apps, then press back

18. Reboot

(Skip steps 19-21 if LSPosed is version 1.8.1 or newer)

19. If apps still detect root, it's because LSPosed is not properly hidden, to hide it, use a file manager that can access root (I recommend Material Files) and go to /data/adb/modules/zygisk_lsposed/system.prop and add a # symbol to the beginning of the first line, to the left of the "dalvik..." text

20. Reboot

21. LSPosed will now have a warning about an invalid prop. According to some this will interfere with some XPosed modules, however it does not seem to affect HMA, so you can ignore it

22. Open LSPosed app, in the Settings tab, scroll down and enable the Only module classloader can use XPosed API toggle

23. Reboot

24. If apps still detect root, it is either because you didn't follow the steps properly, the app detects Zygisk, or they detect unlocked bootloaders. If it's the second case, enable the Enforce DenyList toggle in Magisk Manager settings (which will disable Shamiko). If it's the third case, your only option is to use a phone on a locked bootloader