Prevent duplicates based on key data in csv with choice filter

1. What is the problem? Be very detailed.
I store submitted data as a concatenated key in submission. The submission updates existing external CSV daily. I pulldata against the key and constraint prevents progress in form if there is a match found. It works fine without using a local choice_filter elsewhere in the form. But as soon as I introduce local choice_filter anywhere in the form, I get the following error when validating/generating xml:
ERROR
"The same instance id will be generated for different external instance source URIs. Please check the form.Instance name:'supplier', Existing type: 'pulldata' Existing URI: 'jr://file-csv/supplier.csv', Duplicate type: 'choice', Duplicate URI: 'None', Duplicate context: 'survey'"

2. What app or server are you using and on what device and operating system? Include version numbers.
Aggregate to serve the forms and media/csvs. Google sheet for submission.

3. What you have you tried to fix the problem?
The choice filter works and validation is successful when i remove the pull data.
The pulldata works and validation is successful when i remove the choice filter.

If I arbitrarily change the name of the csv ('supplier') in pulldata to a random csv name ('supplierrrrrrr'), then form validates with the choice filter present successfully. This trick validates the form but it wont work in collect as the csvname is mocked.
So pull data works normally and so does choice filter. there appears to be no relation between the two. yet the error shows up.

4. What steps can we take to reproduce the problem?

file attached.
**products_test2.xlsx (220.9 KB)
**
choice filter in cell: 78F
pull data in cell: D122

Error occurs both when validating form or generating xml online and offline.

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.
attached above

What exact version of ODK Collect are you using?

I am using ODK Collect Version v1.21.1