[Samsung Galaxy S10 ROMs, Kernels, Recoveries, & Ot] jelbo:
One file per slot and from my experience, one flash per session.

I would start over completely. Firmware version doesn't really matter, I would get the latest using Frija. I'm on FUBD. Here's my procedure for the S10 (beyond1lte):

Download the latest firmware for your device using Frija.

adb push the .tar.md5 file to your phone (adb push AP_<blabla>.tar.md5 /sdcard/ is easiest, it's your internal storage).

Download the Magisk App, put the .apk on your external SD card, install and run and patch that file, having Recovery Mode ticked.

Download latest TWRP and patch that too using Magisk, having Recovery Mode ticked.

adb pull both files to your pc. Rename the patched TWRP .img file to recovery.img. Extract the patched .tar file and replace the recovery.img with the patched TWRP you renamed to recovery.img. Put all those files back in a .tar. I use 7-Zip ZS. In this case I would name it AP_FUBD_TWRP-3.5.0_9-3_Magisk22-patched.tar.

Steps I would do, just to be sure of a clean start:

I assume your bootloader is unlocked already. Do a factory reset from your current rootless Android. It's hidden in General Management, Reset.

Go through the first time setup wizard, skipping as much as you can and shut down the phone.

Enter Download Mode (Hold Volume Down + Bixby, then attach USB), start Odin, untick the Auto Reboot option and put your finely created AP_FUBD_TWRP-3.5.0_9-3_Magisk22-patched.tar in AP and the stock BL, CP and CSC files into their respective slots in Odin. CSC instead of HOME_CSC in this case, just to be sure. HOME_CSC is used with upgrades, to keep data. Proceed with Start.

Keep USB connected. Restart using Power + Volume Down, immediately followed by changing to Power + Bixby + Volume Up and keep only Volume Up pressed until TWRP boots. If Android boots, force a reboot using Power + Volume Down and do the button combo again. You need to boot TWRP.

When TWRP starts, be ready for it to restart your phone. This is by design. Again, immediately press Power + Bixby + Volume Up and keep only Volume Up pressed until TWRP boots.

Be in TWRP and take a deep breath. The hard parts are over.

Download multidisabler and optionally, TWRP bootlogo patcher, put them both on your external SD card. Can be done using MTP when in TWRP.

Flash multidisabler and format data.

Flash bootlogo patcher to get rid of the ugly warnings.

From TWRP, reboot recovery and then Magisk patched Android will boot. This will be your real boot, so finish all the wizards as you would normally do.

Install the Magisk App you put on your external SD card. You should be rooted now.

Stay away from custom kernels, Viper4Android, SafetyNet fixes, Xposed/LSposed as in my experience they can all mess up your system badly. Also be careful with debloating system apps too. One too many and your system is ****ed. The benefits usually don't weigh up to the risks. Always keep a TWRP backup.

Forget OTA updates and be ready to go to this procedure again if you want to update. Personally, I try to stay happy with my stable rooted system.

If I could choose again I would not root my phone anymore. It's too much of a hassle.

FUBD, Android 11. I come from a clean install. It also worked on all of my previous Android 11 firmware builds. It's a bit of a mystery, but I'm not complaining.