Первый sizeof фактически выполняет sizeof указателя на char, который равен 8.
Второй выполняет sizeof константной строки, которая выдает 6 для «hello».
Ваше выражение макроса на самом деле разрешает деление до вычитания, поэтому в результате получается 8-1 = 7 и 6-1 = 5.