The functions LOCATE, INSTR, STRCMP and FIND_IN_SET should follow the case sensitivity of the collation assigned to the columns involved. They do not.
The standard code is to use the collation of the item_func object, but for these functions, that is always latin1_bin. Don't know why. The correct collation can be found in item_func derived cmp_collation object, but unfortunately, that object is private.