Yes, but you need to know which one they are. So a new query is needed. Or you have to identify them in your app.
Not sure, you have to test it out. Touched UIDs was created to use in the GraphQL context if I’m not mistaking. Not sure how useful for your case it is.
No, Just create a very precise Upsert Query and trust on it. Do several tests to see the behavior of your query. And then just trust it.
If you wanna uniqueness and less transactions, Upsert Block is very useful.