Case insensitive sort doesn't work

I'm not sure, i understood he wanted to sort, the analyzed values (names in lowercase).

However, you're right, it's better to sort on keyword values (case-sensitive), but be aware that uppercase letters will be sorted before lowercase letters.
You can debug it with your programming language. if you sort an array with values :

["a", "b",  "B", "C", "c", "A"] 
the result is : 
["A", "B", "C", "a", "b", "c"]

In your case if your data are properly formatted there's no issue to sort by keyword, otherwise I think you should create a new field (name_lowercase) just for this purpose.