There is a manual workaround to solve your problem, without having to re-place, re-positioning and resize your images, that is ,"break the link", as you described.
The essential part of this workaround is to duplicate the Linked Smart Object (LSO) you want to replace to a new document and relink it to the desired file from there, then copy it back to the original document with same position/scale/rotation.
Detailed steps are:
- Duplicate the LSO to a new document, using
Layer\Duplicate
Layer\Document: New
.
- In the newly opened document, select the duplicated LSO and relink it to
the new file, using
Layer\Smart Objects\Relink to File
.
- Duplicate the relinked LSO back to original document, again using
Layer\Duplicate Layer\Document: New
, or shift + drag-drop
the
layer to the original document.
- Delete the original LSO in the original document.
If you can find a way to make these steps into a script, or record them into an action (and bind it with a hotkey), it will vastly increase the efficiency of this workaround.
EDIT:
I actually found a script wrote by GitHub user joonaspaakko, doing exactly the same workaround. It will be useful if you want to run the operation in bulk: Duplicate and separate linked smart objects.jsx