Немного поздно, но ..
Более простым способом было бы добавить фиктивный элемент данных в список с параметром IsDummy = true и убедиться, что он не является HitTestVisable, а его высота равна 1 пикселю ( используя конвертер), поэтому его не видно.
Вместо того, чтобы просто зарегистрироваться в SelectionChanged и в нем, установите индекс в индекс фиктивного элемента.
Он работает как шарм и этот способ вы не испортите стиль и цвета ComboBox или темы вашего приложения.
Хорошо, нашел проблему. У меня есть Newtonsoft.Json.dll из проекта .NET Framework в том же каталоге, что и мои тестовые библиотеки. Это как-то вызывает бесконечный цикл. Вопрос в том, происходит ли эта ошибка с версией .NET Core в Newtonsoft.