Well, as I said, with webcams and any kind of USB cameras you don't need to genlock, because you basically control the capture time of each frame via software. Also, webcams tend to have a much narrower field of view, bigger sensor size, and a much lower resolution, which makes them easier to calibrate and makes a physical vertical offset less important. The Xiaomi stock lens, on the other hand, is a compound 150-degree (diagonally) fisheye, which makes calibrating it particularly hard and has all sorts of distortions. Add to that the small, extremely dense sensor, and you're potentially in for some trouble. I'm not saying you shouldn't do it or that it's impossible, it just might be really hard (as in, months of work) and you're not guaranteed a result. If you will proceed with Xiaomi or GoPro, don't repeat my mistake: place the cameras in the same orientation vertically, don't turn one upside-down. Even though they seem like the lenses are aligned that way, they really aren't. I know putting them both upright side-by-side will increase interpupillary distance and potentially make stereo-matching harder. But the vertical offset, on the other hand, will make it friggin' impossible.
I've been thinking to make a little 3D-printed rig for the Xiaomi-s which can adjust vertical placement very precisely with a nut and bolt, but the idea probably isn't worth my time right now.
A few tips on calibration, if you actually do it: if you can, use MATLAB corner detection on your calibration board, not the OpenCV one. The MATLAB one is based on a 2014 algorithm for "calibrating from a single shot" and is significantly better. However, after you get the MATLAB corners from like ~100 images, save them as a csv, read them and do the actual calibration with OpenCV 3.1. This will give you the lowest reprojection error. If you run into issues (like a really high reprojection error), this probably means the detected corner order got flipped in some of the images, in which case you'll have to figure out how to reorder the "bad" ones. I wrote python scripts to do all this basically in one fell swoop.