Taking in two Gstreamer VideoCapture into OpenCV can only be done in a single thread

This seems to be a constraint in OpenCV frameworks. You may consider the solution of running gstreamer pipelines and map the buffer to cv::cuda::GpuMat. There are related posts for reference:
Error generated while running the code after connecting the camera - #15 by DaveYYY
OpenCV CUDA processing from gstreamer pipeline [JP4, JP5]