в языках с приличным ооп, миксины могут ограничить тип объекта к которому их можно подмешать.
в той же скале у миксина (трейта) есть self type. и если объект, не соответствует ему, миксын к нему подмешиваться не согласен. зато, имея эту гарантию, внутри он может свободно обращаться к методам этого типа у объекта, к которому подмешан. это вполне нормальный механизм, чтобы на уровне системы типов чётко указать чего миксину для работы надо.
не знаю, какой смысл имеет этот вопрос в контексте жабаскрипта, там и приватных полей-то нет.