Hi
So unless you share all the connections to everyone, the flows have to be associated to Connections that everyone has access too.
The best way to do this, is to have a Service Account. Think of it simply as an account, with licenses, that the people doing the "dev", have access to the password etc.
Then to do work, you open an incognito browser and log that in as the Service Account. Now everyone is using the same connections throw the same permissions etc for that account.
Also, never have versions of an unmanaged solutions in different environments. So hopefully you are not having people import an unmanaged solution for them all to change as you will never be able to merge those back together (without a robust ALM process).
After you are done coding. you would export it as a Managed solution for the other environments. Doing it this way, they will be prompted to create the connections (as them) in the other environments and thats fine.
But if its shared environments, then you want to import the managed Solution as the Service Account you coded with, OR another Service Account for that environment.
Think of it this way. Managed is what you use to give to people. Unmanaged is for single Dev or Multi-dev same environment solutions.
So if you started from scratch
1) create solution
2) create connections
3) add connection references into the Solution
4) build flows and apps
5) use connection references not connections in Flow
6) publish all customizations
7) Export as managed solution
8) person imports as themselves into their or shared environment
9) on import they will be prompoted to recreate the connections the first time since they wont be there.
10) next imports will GIVE them the option to change the connections or simply to leave them as they have before, unless the dev added more, then they have to add the new ones.