Thanks for all the suggestions. I am still investigating this.
Unfortunately going through the export menu rather than persona doesn't change things. For example, I am unable to get anything to work with this web app, which I use all the time with Illustrator and Inkscape files:
https://clementzheng.github.io/joinery/
The app imports the file with pixels, rather than mm as the units. I think the problem is that, regardless of the document units, Affinity Designer exports SVG with pixels as the units.
Regarding DPI - the DPI used when exporting changes the scale this web app interprets the SVG at, meaning that the DPI is affecting non-raster objects within an SVG.
The same issues apply with every piece of vector-based laser cutting software I have thrown Affinity designer-exported files at. Again, AI, Inkscape etc. files handle this just fine.
Is this a bug? A missing feature? I have never encountered these issues with other vector illustration software before, and it seems other users have had trouble too:
https://forum.affinity.serif.com/index.php?/topic/46934-preserve-document-units-in-svg-export/