I created a […] text field […] this calculated field
What is it – a text field or a calc field?
Create a regular text field and use that calculation as auto-enter calculation.
btw, if you'd script the creation of join table records (which may be desirable for other reason), you can prevent the creation of duplicates (and leave the validation as a safety net).
My calculated field was calculated as text.
However, I understand and appreciate your solution using auto-enter calculation. That worked.