I figured out the issue, although I think I could have changed the processing order and fixed it even if I hadn't.
It turns out that I had accidentally removed six images from one of the flight lines, which I think was the first one being processed. This "broke" the imagery into two unreferenced sections. the three other flight lines then "stacked" imagery on each of these broken sections, the flight lines going up-valley tied to the first part of the broken set, and those going down-valley tied to the second part. When I added the six images back in, it properly aligned the images.
Re Alexey's question, there are four groups of images that are all partially overlapping (two passes up-valley and two down-valley). Along-track they have 65%-75% overlap depending on elevation. Across-track is more variable, since it's a hired pilot trying to keep straight and level over the river.
Attached another screenshot to show how it looks with proper alignment. Thanks for your help!