Can you post your filterFeatures.js and listMenu.js files?
I solve this issue by inherits from Ext.panel.Table instead Ext.grid.Panel which accept adding "features" config as simple array
Your way is different, but I am now happy with my solution. I had to completely re-do FiltersFeature.js and fix ListMenu.js. FiltersFeatures has a bad out of the box algorithm. I have 37 columns which each has a filter. So I call addFilter dynamically 37 times in afterRender of the Grid. Unfortunately, FilterFeatures destroys the existing filters and then recreates them on every call to addFilter. This is bad programming. You can imagine the memory and performance problems this created. I re-did the addFilter to stop this from happening. The reason I did the addFilter Dynamically is so I can initialize the filters from the database. Project requirement
the advice for adding features as a custom property does not work for Sencha architect 2.x. My solution is too make the gridPanel a separate class and then add an override to that class. In the override you can add the features as a config