Org-attach attaches a file to an org-roam node or creates an org-roam heading node. It couples files to org-roam nodes. This coupling is not a good design.
Denote decouples files from existing org-roam nodes.
If we use denote as a replacement for org-attach, we can move denote links anywhere among org-roam nodes.