Face set visibility is already flushed to all mesh elements in the right way in SCULPT_visibility_sync_all_face_sets_to_vertices, calling BKE_mesh_flush_hidden_from_verts is legacy code from the previous visibility system that was causing the vertex visibility to take priority over face sets. When hidding a single loop, all vertices of those faces are still visibile, so this line was tagging all loop faces visible. This was leaving mesh/face set visibiltiy in an unconsistent state. Reviewed By: JacquesLucke Maniphest Tasks: T87474 Differential Revision: https://developer.blender.org/D11008