the script I wrote How does OpenWrt ensure network device names are consistent? - #6 by bobafetthotmail should do the trick as it is matching the MAC address of an interface and an interface name, so you can statically assign eth0 to a specific device MAC.
This works if your dongles aren't trash that change MAC address every time you unplug them. Realtek chipsets had that issues in my testing, ASIX chipsets (the ones in the "good quality" dongles) did not and maintained the same MAC address.
I think it would be cool if default UCI interface config could be anchored to MAC address instead than device name, because device name can change depending on what device is initialized first.
Afaik this is not a major problem on x86 because there you use mostly cards on PCI and PCIe slots (or electrical interfaces if it's an integrated chipset), and those will always be initialized in the same order so will always get the same device name.
But yes if you change a card or for some reason a card dies and you reboot the device yes all interfaces are reassigned and usually ends up in a non-functional state.