You are missing the case when project decides on a rule to write self.member on every member access. Explicit self. does not indicate captured self.
My preference would be to remove "require explicit self" from the compiler completely. Have it in a linter, if you must. But swift team decided to make it into the compiler, and introduced inconsistent semantics. And users were thinking it already set in stone. So I opened a discussion here.
I'm not missing it; I just think that's a dumb coding standard that shouldn't be encouraged. If adopting that standard opts you out of important compiler warnings, good! All the more reason for teams not to use it.