Hi! I was struggling with similar problem but with libcamera. Main goal was to get lowest possible latency and working opencv in background. I decided to use tcp output (stream) -> multiplexer server -> android client. Final latency was around 300ms from Raspberry pi to Android phone. I dont have open source solution for multiplexer server yet, but i can send you a rady to use template with integrated libcamera and openCV. Its working pretty good like i sad. Here is a link to github:
https://github.com/modelingevolution/libcamera-apps-cv and here to tutorial:
https://www.modelingevolution.com/libcamera-apps-cv-tutorial