Instancing - make real and join - duplicates itself
It's because all objects use the same Object Data.
You need to make it unique before joining.

Select "realed instances" go to Properties Editor > Data Properties and click on a number on the first row. The "active" one (bright orange) become unique, now join them Ctrl+J.

(The number means how many objects in a scene use this data block.)