Это не ошибка ... Notepad++ "поиск", когда выбрано ВНИЗ, не распознает никаких символов ДО курсора. Когда вы выбрали первый a, курсор переместился. Таким образом, как только ваш курсор будет передан первым a, он будет соответствовать оставшемуся a. То же самое можно сказать о поиске "UP", он будет игнорировать любой символ от курсора до конца документа.
Ваше регулярное выражение не потерпело неудачу, просто вы должны помнить и понимать природу текстового редактора в целом.
Regex 101 не выполнял "частичный" поиск строк, как это делал Notepad++. Однако вы можете исправить это, используя якоря в своем регулярном выражении. Вы можете привязать это регулярное выражение к началу строки с помощью ^. Тогда вы не получите совпадение со своим вторым.
^(?<!a)a