I have to assume that it's just a limitation in how the JSON structure is translated to and from text references. JSON doesn't actually have an "official" addressing scheme for sub-objects, only add-on standards like JSON pointer. TiddlyWiki allows most characters (including dots) in field names.
Relevant functions in the TiddlyWiki core code: getTextReference --> extractTiddlerDataItem --> getTiddlerDataCached --> getTiddlerData
Looks like internally, the whole JSON structure is parsed, but extractTiddlerDataItem has no rule to look for a delimiter (like ".") and access sub-objects. This bit of code in that function would need to be expanded into something more complicated:
if(data && $tw.utils.hop(data,index)) {
text = data[index];
}
...So at a glance this looks like it would be a pretty easy "mod" to implement, if you're willing to mess with some core code.