Die Frage ist also immer noch: warum wird trotz "inherited"-Aufruf der eigene Konstruktor aufgerufen?
Entferne das override. Damit überschreibst du den geerbten Konstruktor, so dass dieser dann aufgerufen wird.
Die Konstruktion ist aber seltsam. Warum ruft der überschriebene Konstruktor mit einem Parameter den mit 4 Parametern auf, wenn der doch ohnehin wieder den mit einem Parameter aufruft? Ohne zu wissen was darin passiert, lässt sich dazu aber nicht viel sagen. Das kann man sicher anders lösen.
Eine Möglichkeit wäre, die Initialisierung aus dem Konstruktor auszulagern, so dass die Konstruktoren sich nicht mehr so viel gegenseitig aufrufen müssen. Im Konstruktor sollte im Normalfall auch nur die reine Initialisierung passieren, keine Ladevorgänge oder weitergehende Aktionen.