Solved it. As detailed in this WWDC talk, - https://developer.apple.com/videos/play/wwdc2019/225/ you have to correct for the intrinsic matrices to relate video frames from the respective cameras to each other.
Oddly, it seems that AVCaptureConnection's isCameraIntrinsicMatrixDeliverySupported returns false unless both connections have been added to the session, in which case it returns true (given the session topology in question).
The intrinsic matrices of the respective cameras do change in real time, which accounts for the unexpected vertical disparity.
This WWDC talk describes - https://developer.apple.com/videos/play/wwdc2017/507/ the intrinsic matrix in a bit more detail.
Topic:
App & System Services
SubTopic:
Hardware
Tags: