Thanks @OHara, the collider mod was really helpful. It appears that the fairing collider invisibly extends over the opening when the craft is re-loaded. It's perfectly fine for the whole launch, but when I rendezvous with it, it has to be re-loaded, and so when I try to dock I end up bouncing against the collider.
Edit: I have found a solution that seems to be working. On my original design, I attached the fairing as close to the end of the structural tube as I could, for aesthetic reasons. When I edited the hanger to have the fairing attach in the middle of the tube, the fairing stopped closing over the opening on reloads. It seems that when the game redrew the collision vectors, it missed the tube.
So I guess this is just a quirk of the game that you have to be aware of if you're building in this specific manner.