You need to register the scalar, give it a context:
extend schema @link(url: "https://my-whatever-spec--the-address-does-not.matter/json/v1.0", import: ["JSON"])
scalar JSON
type User {
details: JSON @shareable
}
And in your other subgraphs, you do the same @link
thing.