The store.recordType works as expected. If I change the definition to either a JsonStore or ArrayStore, the store.recordType is undefined. The documentation for all 3 store are the same but underlaying behavior is not. Why? Is this a bug? What do I have to change to get recordType for JsonStore or ArrayStore?
It overwrites your reader if you extend JsonStore/ArrayStore and passes config directly into the reader. But in your example, you're trying to pass your fields into your reader and they are gone. And the result is a reader without any fields definition. So it does not create any recordType.
If you remove the reader, and put fields into the config, it would probably work. See below: