The conventions just documents what is done in the core framework.

I think we just need to life with this inconsistency. In configuration you use underscores and in di things you use dots.