As you notice, the totalProperty has been set to "records". But ExtJS4 always reads the "total" parameter returned, inspite of specifying to read "records" parameter. As I see in the documation, the default value for totalProperty is "total".
If I make the server not send the "total" parameter, ExtJS4 correctly reads the "records" parameter to find the total number of records in the dataset.
The Fix required:
Since the totalProperty has been set to "records", the store should read that parameter only and not look for "total" property, which may be sent by the server.