see
you’d do:
sudo snap set system experimental.hotplug=true
then plug in your serial device
snap interface serial-port
should then return you a serial slot you can use for your application…
in case of an actual (non USB) serial port, you would have to use a model assertion along with a gadget as you described to pre-build a classic ubuntu image. “just installing” gadgets is not possible (gadgets are designed for dedicated images on productized devices and always have to go along with signatures, IDs and certificates from the model assertion) …