So in short. When you index a field with a text type and default analyzer, it is indexed in lowercase and broken into tokens.
Aaa Bbb became aaa, bbb.
When you search with a wildcard query (which is a bad idea), you must use the same case as was indexed. So aa* should work where Aa* shouldn't.
For keywords, they are indexed as Aaa Bbb, so searching for Aa* will match. Note that Bb* won't match.
With a lowercase normalizer, aa* will match. Aa*, Bb* or bb* won't match.