This should work so far as the OTG connector and switching between device mode and host mode goes. If this is wired differently from the dev kit, then you’ll still need device tree edits, but this USB connector design and use is valid.
I couldn’t tell you about the specific USB0 wiring/device tree edits, someone else will need to provide those details.
The bootloader in more recent releases does not support simple boot on external drives (I’ll add later on why I mention this, but I am assuming you are updating the Jetson and drives the following comments). This is a somewhat complicated history, but the gist is that embedded systems do not have their own BIOS/UEFI. This means much boot support is added via extra partitions, and that those partitions are used during boot as something of a substitute. These must remain on the eMMC even though the rootfs partition can be migrated. Often the rootfs release is tied to the other partitions and likely mixing rootfs releases and other partition releases will fail.
HID class (Human Interface Device) is only for keyboard/mouse style input devices. If extlinux configuration were used, then this would be fine for interacting/picking U-Boot options, but now U-Boot may not do everything it used to do…much of what U-Boot uses as options or input starting data is from those extra partitions, and sometimes prior boot stages edit the data (U-Boot does not directly read those partitions…previous boot stages will instead pass this data on to U-Boot, e.g., device tree from an extlinux.conf specification is no longer used). I’ll assume that maybe you are interested in external boot over USB with USB mass storage as a method of doing flash or updates.
Another complication is that many of these partitions are now signed, and so unless you have the correct signing done, and unless the partitions still fit without becoming too large, then you can’t just do a “dd” style partition overwrite (which is probably what you wanted to do if booting from an external drive). You can use the flash software and create signed files which can then be installed via dd, but it would get more complicated if the partition size was too large (which would mean you’d have to shift partitions around).
The final issue is that any flash software does not run on arm64/aarch64 architecture…the executable behind flash.sh requires a desktop PC architecture under Linux (such as for interacting with a device mode Jetson or for creating signed partitions). So in order to “self flash” one would have to give up on flash software and understand the process well enough to sign and overwrite partitions while the Jetson is running on your external hard drive (which I assume is why you asked…I could be wrong though and maybe you are not wanting to flash via boot from an external disk).
Keep in mind that if boot partitions are not installed correctly, then the unit will no longer boot and the only way to fix the issue is via flash software while the unit is in recovery mode and attached to a Linux PC. If power were lost, or if the update were interrupted, the unit would require actual flash.
By far the simplest way to do updates is via a Linux laptop while the unit is in recovery mode. Saving prior data once more complicates things.
Better answers can probably be provided if you give exact details of what you are working with and what you wish to accomplish.