Well, I've narrowed it down to the doortypes.2da file.
I have my own doortypes.2da file, and the Dark Ruins comes with a doortypes.2da file inside a HAK. If I include the HAK, it overwrites my doortypes.2da and the door appears.
To makes sure it was only the 2DA file, I removed the HAK and ran it again. No door appeared. So then I took the doortypes.2da out of the HAK and put it in my override folder. The door appeared. The remainder of the files in the HAK I already have as loose files in my campaign folder.
So it seems clear it's the 2da file.
I looked in both 2da files and on line 597 is the entry for the RuinDoor, and both are exactly the same. My 2da has the identical entry as the RWS one. I can't figure this out..
So I am unsure what could be making a difference... My 2DA should work. I really don't want to have to include the HAK for this one module if I don't have to.