1. Disable any desired Magisk modules, ex. Edxposed (I usually disable all modules just to be safe)
3. In Magisk, select Uninstall, press Restore Images
4. Do NOT Reboot
5. Install OTA Update via Settings -> System -> System Updates
6. When prompted to reboot, Do NOT Reboot
7. In Magisk Manager press Install
8. Select Install to Inactive Slot
10. Enable the Magisk modules one by one
In case of bootloop after enabling a module there are 2 ways that I know of on how to retain root and fix bootloop.
One requires ADB
While phone is stuck in bootloop, connect phone to PC and run this commands via ADB.
adb wait-for-device shell magisk --remove-modules
This will remove all modules and you should be able to boot.
The second way is via fastboot. More information in this thread.
Some information that might help some people.
I know some users flash patched boot.img that someone else patched, thus bypassing the creation of a backup. I think choosing or not choosing to preserve avb 2.0/dm-verity also affects if phone will take OTA. I always preserve mine and always patch my own boot.img so I haven't ran into any issues. I'll just have to wait and see what happens on my end once I get the update. This reminds me of some issues some people where getting early on when rooting. Some people had to flash the patched boot.img to both a/b slots and some people didn't. Having both slots with a patched boot will also break the restoring of stock boot.img as Magisk only restores the active slot.