Q:

Почему при использовании text-transform: uppercase происходит некорректное преобразование в английскую букву I?

text-transform: uppercase для азербайджанского языка неправильно работает.
Азербайджанская буква i должна смениться на İ (с точкой наверху), а она увеличивается на английскую I.
Как это исправить?

A:

Поведение text-transform зависит от языка текста. Что бы трансформация проходила по правилам азербайджанского языка, у корневого элемента(html/body), либо у отдельного блока должен быть обязательно указан правильный язык. Делается это при помощи атрибута lang:

.uppercase {
  text-transform: uppercase;
}
<h2>Азербайджанский язык(lang='az'):</h2>
<p class='uppercase' lang='az'>
  fincan, isti, şəkil
</p>


<h2>Без указания языка текста, или с неправильным языком:</h2>
<p class='uppercase' lang='en'>
  fincan, isti, şəkil
</p>

Слов из азербайджанского я не знаю, поэтому вставил в пример первые найденные в поисковике.
Также это касается Немецкого, Нидерландского, Греческого, Турецкого, Татарского, Башкирского, и  Шотландского(Кельтского) языка - там тоже используется латница с нестандартными правилам преобразований.

