I said this before and will say it again: The most underrated feature of Nostr is the event kind as Integer and not a String.
That simple choice alone is the reason why Nostr apps are MUCH more interoperable than any other signing standard.
I worked for 3 years with Verifiable Credentials where schemas and types are strings. There is no real interoperability between Verifiable Credentials. Everyone just creates their own names/types and fuck everybody else. There is no effort to reuse names somebody else is already using and/or to standardize what values those names take. You can verify the signature, but you don't know what the signed payload means or does unless you go talk to the issuer directly.
String types create the false impression of documenting what the type is without having to write it down somewhere else. Nostr's integer kinds require you to explain what you are doing in some other place than the type name itself. And that creates a possibility to explain the entire sematics of what your type is doing.
It's just a better "system" for real interoperability.