It looks like this bug report Warn about member variables initialized with itself has an explanation for this (emphasis mine):
I agree with Andrew, the a(a) mistake should always warn, it should be independent of -Winit-self, which exists so that -Wuninitialized doesn't warn about the common (but questionable) practice of self-initializing automatic variables to silence warnings.
It it probably called a questionable practice since it is undefined behavior in C++ to self initialize an automatic variable and the bug report is a C++ bug report.