There are two ways to configure a Linux USB gadget: the older sysfs and the newer configfs.
So Android decided to use both.
Since both are activated by triggers, the property sys.usb.configfs is used to select.
/dev/socket/adbd is for communication to the framework. That's how the confirm dialog pops up.
If you look at all the triggers for sys.usb.config, you'll see that many start/stop adbd. That's what's happening. The Java UsbManager is setting the USB mode when the Android subsystem boots.