V3 -> v4 pre-upgrade questions

Happy Chirpstack v3 user, here. I’d like to move to v4. Read docs and searched forum but a few questions remain.

Chirpstack v4 compatibility with MQTT messages intended for v3

Our gateways in the wild are Milesight UG65 and UG56 gateways and older Ursalink UG85. The configuration interface has a convenient chirpstack MQTT forwarder config, as shown in Milesight docs. I see this doc page has been updated to show that recent firmware versions have a chirpstack-v4 option. But even if all our gateways are updatable (I’m not even sure, UG65 are updatable, but I don’t think UG85 are and I’m not sure about UG56), we have no practical physical access so it is not really an option.

I need to maintain compatibility with running gateways. IIUC the migration docs, I need to remove the region topic in chirpstack config (I don’t mind, we only operate in a single region anyway). Is that all that is needed? I’m in doubt because of this comment:

Just to add some extra context, the above will not work. Because the MQTT format used is still v3 and thus not compatible with ChirpStack v4.

I’d be happy to get a bit of clarification about this. Is there a way to configure chirpstack v4 so that it can receive messages intended for chirpstack v3 (with no change on gateway side)?

Running Chirpstack v3 and v4 in parallel

Since I’m a bit wary about breaking ongoing campaigns, my first intent was to keep them on v3 and run v4 in parallel for new campaigns, until all v3 campaigns end. (It’s only when I saw the migration process seemed easy thanks to the migration script that I thought about trying the migration.)

Doing so, I could use default v4 config (with region name in topic) and be sure to start new campaigns with an up-to-date gateway using chirpstack-v4 config. IIUC, older gateways without chirpstack v4 MQTT forwarder would need to use the Semtech UDP packet forwarder mode. I never tried that and I don’t know what it implies but it should work, even if “not encrypted, less reliable” according to Milesight.

My chirpstack instance is hosted on a Debian VM. I’m getting chirpstack ns/as from the official chirpstack repository. Since chirpstack is now distributed as a single .deb, I don’t think apt prevents me from installing it in parallel. I could try to run both instances in parallel, just making sure to use different ports and databases. Is there anything that could go wrong doing this? Like, would both instance step on each other somehow? Do I need a separate VM?

Thanks.