I amended my post above: when I import the JSON into Logseq, it also preserves the count of back-links from a referenced block. So the github issue above is not reproduced when importing the JSON into a non-Roam service, which means the JSON should have all the info needed?
The current importer works from the markdown, but the markdown as exported from Roam doesn’t include any details about block links. Therefore it would be impossible to write a markdown importer that keeps this info, any importer would have to deal with the JSON (or the EDN).
Fingers crossed then