Trying to extend JsonStore, I landed into an infinite loop of nowhere. So I went and checked it's source to find to explore the issue.
The JsonStore class creates a reader by passing the config variable to it directly without adding any extended values. So if the extended class has properties required by the JsonReader, it would never get them, unless the config variable has the values passed as constructor values.
The solution is to update the config variable with Ext.apply before sending that to JsonReader.