Since normals are derived data, it's always a change to something else that will cause them to change, like the winding order of a face or vertex positions. So it's clearer to use tags for those things directly. It's correct to remove the tag in one place since dirty is the default state of a new mesh.