It seems like org-id-get-create
expects the buffer to be visiting a file
(error ‘org-id-get’ expects a file-visiting buffer)
This below seems to work for me (lightly tested). I guess you’d need to adjust the function according to the ID you use (e.g. I use a certain date format instead of uuid).
(setq org-roam-capture-templates
'(("d" "default" plain "%?" :target
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
:unnarrowed t)
("m" "movie" plain "*** ${title}\n :PROPERTIES:\n :ID: %(org-id-uuid)\n :RATING:\n :END:\n%t\n"
:target (file+olp "movies.org" ("Watched")
))))