Hi,
I don't know if it's still relevant, but I just encountered the same deign contraint. I try not to use JavaScript to have more maintainable surveys (not everyone can code in my team). So here's what I've done, for posterity 😀.
I started with a join like in the first post, and added a regexp testing if the answer to the select question is present twice in a that join, then placing that regexp within a not in the select constraint. This works well, even going back to edit previous repeat pages. The regexp has to be set on calculationMode=always so that it works when going back in repeat pages.
I'm attaching a excel file just doing this. I have incorporated this into a larger survey where choices are pulled from a FeatureService, it works well.
Edit - 2024-04-26: this does not work when the choices contain special characters, eg brackets, since the regexp interprets them as markers for the regexp itself. The solution would be to use literal escape markers in the regexp, \Q and \E. It does not work, and I raised the case with Esri UK/Ireland. It's up for analysis. Hopefully fixed soon.