I just noticed that Google support's Consolidate duplicate URLs - Search Console Help says:
Use absolute paths rather than relative paths with the rel="canonical" link element.
Use this structure: https://www.example.com/dresses/green/greendresss.html
Not this structure: /dresses/green/greendress.html
I've always used simply the filename, without extension, as in:
public/Recipes/Mushy_Peas.xhtml: <link rel="canonical" href="Mushy_Peas" />
without any obvious problem reported in Google's webmaster report pages, which reports:
User-declared canonical https://rbutterworth.nfshost.com/Recipes/Mushy_Peas
Using the stripped filename is a lot easier than entering the entire URL.
(Note that there aren't multiple URLs to the page, other than with/without the ".html" suffix.)
Is there any reason to change this (and a few hundred others) to be the full URL?