вот, вы уже близки к разгадки. значит нужно ДО пагинации весь массив диалогов отсортировать чтобы все с непрочитанными были в верху, а потом ток сделать пагинацию.
а у меня сейячас как? public function index(){ $dialogs = collect(Dialog::getAllSupportDialog())->sortBy(function ($dialog) { return $dialog->latestMessage()->is_read(); });