Initially it wouldn't even install and say it couldn't mount data as rw, but then I read that people were more successful using an older version of twrp and that did the trick.

I followed the newest installation instructions and installed lineage-17.1-20201221-nightly-oneplus3 followed by magisk.
I tried installing Disable_Dm-Verity_ForceEncrypt before and after (after repeating the whole process) installing nethunter.

After a successful installation message, booting would only result in a black screen.
This appears to be a common problem as it's been discussed twice:

In both threads Thiviyan posted a link to a google drive of a working kernal to install over top of the base installation.
I tried this and it was successful, however I would like to build it myself.

I tried the build script like so:
./ --ten --device oneplus3-any
and this build also resulted in a black screen.

So I then started mucking with the flags and tried
--nightly --forcedown
and also tried
--rootfs full
--rootfs minimal
Alas, all builds failed to get beyond a black screen.

It seems that it's something to do with the source kernel but I wouldn't know where to start.
Can anyone point me in the right direction? I'd like to know how to build a working version myself.

Thank you.