Hi Graham, thank you for your response. I think we need at least two identifiers (for guests and logged-in users). The third one was needed for some targeting conditions.
You were right I can set the identifiers with metrics, and I realized that this should be the only correct way to conduct analysis.
The issue arises, however, from having metrics that uses two identifier, but the the analysis is done on a third identifier. Then, as you said, you will use the identifier joins and here we have inconsistency, it uses one metric identifier, e.g. exp_id <-> GA4_id, with one metric and uses another identifier, e.g. exp_id <-> user_id with another metric.
I agree with you now that this is considered a misuse of the identifiers, but wanted to clarify it here anyway.
Thanks again and have a great day!