Время конца раньше начала, потому что относится к следующему календарному дню. Это нужно указать, а не предполагать молча.

Введите 22:00, 06:00 и следующий день

Создайте строку, укажите начало 22:00, конец 06:00 и отметьте следующий день. Введите 30 целых минут перерыва.

Полная длительность — 8:00

До полуночи остаются два часа, после неё идут ещё шесть. Полная длительность — 480 минут. Одинаковые начало и конец со следующим днём означали бы явные 24 часа.

Отработанный итог — 7:30

После вычитания 30 минут остаются 450 минут работы: 7:30 и 7,50 десятичных часов. Ночная надбавка, порог сверхурочных и обязательные перерывы не входят в результат.