Thats an interesting problem
Have you considered creating a list that can also serve as a log/task.
First get the app to write to the log so you can line up items that will be written to the target list.
The first person to populate that list will be the first to populate the target list.
You can action that via Flow.
When Flow processes that Action, it can flag the Log/task as Done.
Duplicates can be determined via the Log/task
If item in Log/task exists && Not Complete, warn.
If item in Log/task exists && Complete && Target list exists, Duplicate Wrn.
Some ideas.
I find that this is a problem with Patch driven forms.
With the Standard Submit based form you have OnSuccess, or OnFailure.