[OnePlus 7 Pro ROMs, Kernels, Recoveries, & Other D] AlkaliV2:
So the way A/B works is when you initially get the device and it has software on it which is typically located in Slot A. So out of the box you have OOS 10.0.3 on slot A and after you've had it on for a minute it tells you there's an OTA update. After the download finishes and you see it finish installing the files it is ready to boot you into Slot B where the newest files are. The phone reboots and next time boots into the latest version of the update on slot B. They do this so if there is a corrupted update you aren't stuck with a busted phone; it can fall back to partition A and wait out the next update simply overwriting the last failed update files.

TWRP handles this the same way whether you are doing an OOS install or an install of CrDroid. You reboot to recovery, you flash the ROM zip (and re-flash TWRP because typically the software overwrites the boot parititon) and then you reboot to recovery so you actually are on the slot that you just installed CrDroid to. This is why it is so important to reboot because CrDroid has you use opengapps. Opengapps script flashes to whatever partition you are currently on in TWRP. That means if you are coming from an old version of CrDroid and flashing a new one it's going to install Gapps over the old build and not the new one. So rebooting to recovery after installing the ROM always boots you to the latest build where you can easily flash Gapps, TWRP, Magisk, or anything else you want to be on the latest build.

This is also why it is critical to install OOS to both slots before coming to AOSP ROMs because both partitions need to have the same important files from OOS on them in place before flashing CrDroid or any other **ROM on the OP7P. If you flash the same OOS build to both slots you've created the foundation needed to continuously install CrDroid OTA updates because no matter which slot you install CrDroid to and boot into the same good foundational OOS files are already there.

The last typical mistake that people make is not following OP's directions on which version of OOS to use. People use Open Betas, latest stable releases before the Dev is able to pull in the blobs and incompatibilities can exist between the vendor/blob files of 10.3.4 and CrDroid if he hadn't implemented the new blobs (he has now so this example isn't relevant). Open Betas often see large changes to the blobs because they are experimental builds and so the blobs could be wildly different from what these custom ROMs expect that use stable OOS as a base (the same reason many custom kernels tell you they don't support Open Betas). For a short while, when Omni was still being updated and shared here, people were flashing Open Betas and experiencing issues on OmniROM and the Dev basically told them Open Betas are not supported. Is there a massive difference between 10.3.3 and 10.3.4? The only person that knows that is the Dev but if he is saying use stable 10.X.X that's what you should use until he says otherwise. No matter how satisfying it is to have the latest and greatest build OOS build.

So hopefully that answered your question(s). I've done this a long time, since the original Pixel started doing A/B partitions, and it does require some digging to find out why things are the way they are. On XDA it is highly encouraged that you learn while you are here and help others from an informed standpoint. Unfortunately this isn't reddit and we can't downvote bad advice into oblivion. If you still have questions about A/B googling some should get you all you need to know. If you want specific questions about this ROM then the Dev, the OP and the search tool are your best friend when it comes to making sure your phone will work exactly how it should when moving to a custom ROM.

**The exception to this is Unofficial/Official LineageOS but that is because they reverse engineered their own vendor file for this phone and it gets installed for you when you flash the zip so OOS is not needed on LineageOS.