The other reason, is that I assume that "lower()" adds overhead, so makes things slower than they need to be. Whether that is true, and if that is a compelling reason, I don't know.
Case insensitive collation adds overhead too. It wouldn't surprise me if that were more than lower() adds - collation is complicated stuff. -- If you can't see the forest for the trees, Cut the trees and you'll see there is no forest.