I haven't been able to find a good source on this. I looked pretty extensively. Mostly I think people do the dumb obvious thing, which is to build BVHs over the mesh for the instances and then build a BVH of those.
Look into the Ashikhmin-Shirley model, the Ward model, or the Cook-Torrence model.
Ah, you just want to implement a single refractive object. I'm not sure either one is better than the other. I think the flag toggle is probably easier. That way you don't need to know triangle winding orders nor consistent shading normals.