Okay so what you wanna do is wipe everything but internal storage on twrp. You need the bootloader, radio and vendor from OPM3 Feb. Make sure it's OPM3. Install OpenGapps, flash Magisk 15.3 and then boot. DO NOT WIPE CACHE&DALVIK AFTER GAPPS AND MAGISK.
Thanks for the advice! It put me on the right track. Here's what ended up working (albeit probably not the cleanest) in case it helps someone else:
1) Re-ran ./flash-all.sh from OPM3 Feb 2018 factory images.
2) fastboot flash recovery twrp-3.2.1-0-bullhead.img
Boot into TWRP:
3) Installed RR oreo zip
4) Wiped cache/dalvik
5) Installed OpenGapps Pico zip
6) Installed Magisk 15.3 zip
7) Reboot to system (no cache/dalvik wipe)
Then from here it booted back to TWRP. Then I did
8) Wiped everything but internal storage
9) Installed RR oreo zip, OpenGapps Pico zip, Magisk 15.3 zip
10) Reboot to system without wiping cache/dalvik at any point
Then from here it got stuck on the RR animation. I waited about an hour, and it was still showing the animation so I decided to hold down power and reboot. From there it got stuck on the Google splash for about 20 min before I got impatient again and held down the power button to reboot. Then it booted into RR! Went through the setup and restored basic settings, and so far so good...
Anyway, not the cleanest start, but at least it works for now. Thanks again!