Yes it should work on instances. long answer: it stores vertex colors independent of the meshes, duplicating an object will require you to add the new object to the paint group, but otherwise it will retain the original instances
to give an even longer answer about the instances, the vertex colors are only applied during runtime and while you're editing them, but it's all cleaned up back to the original mesh reference in all other situations. this means you can still modify the original mesh / prefab and the vert colors will remain on the object!…