Well this sucks. Temporary data loss is the current default when the option:
"Write result in selected column"
when using Join columns.
I think we should change to using a smarter default with "Write result in new column named" simply "joined_column".
If that column name already exists, the user should get an error "Column name already exists" and the operation fails and the user can then redo the operation.
Most of the time users are joining 2 columns and so the simple default name of "joined_column" should suffice (should be a translatable variable identifier in the code).
Thoughts on changing this default handling for Join columns?