The expand operator reused `SCULPT_UPDATE_MASK` even when it changed face sets, not the mask. That triggered incorrect behavior in `node_update_mask_redraw` when there was no mask layer, which caused nodes to be incorrectly marked as fully masked (and therefore optimized out of later operations).