Потому что во время вызова конструктора ClassA, где у тебя вызывается init из ClassC, объект ещё "не доделан", где-то внутри, до полноценного экземпляра ClassC, в частности, ему ещё не добавлены приватные методы ClassC.
Скопируй в консоль Хрома этот код:
код
class ClassA {
    constructor(){
        this.#methidA();
        this.init();
    }
    
    init(){
    
    }
    #methidA(){
        console.log('in ClassA.#methodA');
    }
}
class ClassC extends ClassA {
    init(){
        console.log('*** this in init(): ', this);
        debugger;
    }
    
    #methidC(){
        console.log('in ClassC.#methodC');
    }
    callMethidC() {
        console.log('*** this in callMethidC(): ', this);
        debugger;
        this.#methidC();
    }
}
const c = new ClassC();
c.callMethidC();
  
и нажми ентер.
на брекпоинтах разверни в консоли экземпляр класса, который будет в последних выводах в консоль (это надо делать именно во время остановок на брекпоинтах, иначе будет одинаково).
можно увидеть, что в первом случае в [[PrivateMethods]] не хватает метода #methidC()
приватные методы, судя по всему, хранятся не в прототипе, а в какой-то скрытой области, которую можно увидеть только вот так, в момент дебага.
надо поисследовать, почитать спецификацию. Сам их не использую, у нас на работе TS )