Moreoptimizations: write your own shader for it , like I did it in -tilemap/blob/master/src/pixi-tilemap.js . You dont have to store sprite objects of tiles, just push all numbers into one big array. We can add IsometricTileContainer as a part of pixi-tilemap. You also use that js file without changes, just create a CompositeTileLayer, clear and addRect all your things after scrolling. I still dont have examples for it, but interface is really simple.
I have a similar setup also: 4 height layers with order tiles, ground, items in world and foreground. Each time there is a change in the position of items on a chosen layer I just sort them based on their y-coordinate children.sort(function(a,return a.y-b.y;). With that I get around 50fps on first gen ipad mini with around 500 objects in total (largest layer has around 300 items) and I'm pretty sure it could handle a lot more without worrying about sorting speed.
Biggest optimization would be same as what Ivan said, particlecontainer or own shader for tile rendering. Though the particleContainer only works if you can fit all your tiles into one spritesheet. I couldn't and the performance was a bit bad, added basic culling each time the camera moved and it improved the fps a lot more than what I could get by removing the sorting. I implemented it like this:
3a8082e126