This is exactly my issue too:
If you have a mesh with more vertices, the number of stable instances get way below 100. This PerInstanceCustomData works perfectly with ISM though. You can try that.
I have reported this as a bug, but it didn’t get submitted. So, I’m guessing it’s either in development or never gonna happen!