I wonder how much of the stability is the extreme reluctance to do any upgrades or touch anything related to that mainframe code. In my experience with larger institutions using mainframes, its largely "code freeze, do not mess with it".
I wonder if this is a consequence of the stability, or a cause of it? Modern tech stacks are always upgrading components underneath to remain modern and frequency of changes cause instability no matter how hard you try. Not really any meaningful tooling to get around that yet