I haven't tested this but have experience using RTSP on other devices such as touchpanels on my automation system and streams for multiple cameras and one thing I noticed with lagging streams was the device that was playing back the stream, is it a RPI or a Windows machine etc?
Also with many cameras you can choose from a Primary or Sub-stream and is you are. using the Primary stream and its 4K or 1080 then see if you have a Sub-stream URL you can use?
This will be a lower quality stream URL but still good enough for viewing, your cameras when properly configured with most NVR's will record in the highest resolution but you should limit your access to lower quality streams when viewing for a better experience, and of course you can choose to do whatever you want but you may get a better experience testing with a sub-stream if you can.
As an example most Ubiquiti cameras have High,Medium,Low streams for RTSP you can choose and beside this you can also adjust bitrate and as an example when using the AppleTV app I can have access to all 14 of my cameras and get a small video preview window of them all at once and then I can click any of them and see a good quality full screen image.
I think part of the reason it might stream efficiently with their app is related to the quality of the stream they allow to the app which I think is the low RTSP stream and as well as the keyframe rate which they set to 0.20 when using the cameras with the Ubiquiti Protect system and their Cloudkey Gen2+
**Another thing worth mentioning, in the past I have used this setup with RPI Gen3 and had 8 cameras onscreen at once and it was using omx player on the PI, is it possible for Channels App to use Omx to play back URL's if having problems?
https://community.ui.com/questions/Tutorial-Raspberry-Pi-4-Cam-Matrix-Viewer-Appliance/f28e9841-4971-452b-820b-64af4385efbb