@poopipe How do you use the material modifier per face? Make a subobject selection with Poly Select modifier? So modifier stack: 2) Material ID Modifier 2) Poly Select 1) Material ID Modifier 1) Poly Select
Multi sub materials work fine for this in most cases. I use them all the time. You can assign IDs using a modifier (which can be instanced) as well as per face. I do that a lot because it means you can make large sweeping changes to material assignments your scene very quickly.