Где брать примеры хорошего ООП?
Посмотрите исходники nodejs, vue, или еще чего-нибудь, у чего тыщщи звезд.
Даже если окажется, что ООП там не идеальный - вы будете не в одиночестве. Найдутся тысячи единомышленников, готовых вести святую войну за единственно правильный ООП. (По крайней мере на этой неделе.)
А зачем?
JS не создан для ООП и в полной мере его не поддерживает. Зачем же так извращаться? Главное, что бы код был понятным и удобным. А это придёт с опытом и чтением чужого кода (опытных разработчиков).