На каком языке лучше работать с OpenCV? Нейросетями? OpenGL?
Numpy написан на C и очень резв. Его может не хватать только в системах реального времени с критичностью к миллисекундам, типа автомобильных автопилотов.
Ваши суждения правильные.
Возможен вариант реализации наиболее узких мест на С/С++ как модулей питона.
Когда используете numpy не забывайте всегда работать с numpy массивами, иначе теряется  производительность numpy. Используйте для работы с ними функции numpy, а не питоновские. Numpy array - похожи на Си массивы, поэтому передавать их в модуль на Си эти массивы достаточно просто (обратное то же верно). Старайтесь сводить к минимуму вычисления непосредственно на питоне - используйте возможности numpy, scipy, opencv.
PS: У меня был опыт написания модуля для отображения информации на питоне. Весь основной код был реализован на Си - много вычислений с большими объемами данных (не opencv).