I don’t know enough about it to give you a checklist, but it sure sounds like the UVC customization needed in the gadget framework is insufficient. Since it is just a framework you must implement some of the functionality yourself or it is equivalent to part of the hardware being missing.
I don’t know about other drivers, but since the kernel works with actual UVC cameras I’d think the issue is in configuration which is unrelated to the driver. Without better knowledge of UVC within gadget (and what you must custom build) it may be you need a protocol analyzer to see what is missing. You might try the “usbmon” application, though it might take a steep learning curve. Here is some information which might or might not be of use in your case:
If someone else here has set up the gadget framework for isochronous UVC some sort of check list would be useful.