Not sure I’m getting the issue here (what does “join table” mean in the scope of JSON/XML?), but… doesn’t how you lay out your data in JSON/XML file have zero impact in your application’s queries? You won’t be querying the JSON - you’ll be loading data from it into memory and query the memory.
Personally, I always regarded UUID as one of those overcomplicated and frankly unneded “enterprisey” standards (similar to SOAP and XSD, XSLT and various other XML techonologies). After reading this article my opinion didn’t change.
Also… do they even know what “version” means? That they choose that word over “type” or any other alternative says it all.
Please, do NOT rely on that and just add to your tables a field with the actual timestamp.