A small change to the KikGen source code in usb_midi_device.h to change the quantity of USB ports and I now see this:
This time I found I needed to reset the STM32 whilst Arduino IDE was trying to upload. (I thought it managed without a reset previously.) I don’t currently see an advantage of 16 (or even 4) USB MIDI devices within ALSA / JACK. There can be lots (up to 15) of physical MIDI inputs which can be routed and processed within the device before hitting (or not hitting) the USB interfaces. In Zynthian we (currently) route them all to the same Zynthian MIDI input anyway so in this use case* we only really need one USB MIDI port.
*I need to keep the use case relevant to Zynthian to avoid being evicted from this forum. There is only so much tolerance one can expect from the all powerful @jofemodo.
[Edit] And taking it down to one port also works which I might keep (although extra ports might be useful when plugged into other (non-Zynthian) devices). This time I could upload firmware without restarting but the LEDs were flashing differently so I need to better understand the modes that KikGen uses.