Yeah, I hear you. But I don't think those are your only options. There is a whole world of possibilities out there for solution management. In fact, on this very forum we've have comment threads in the past that go to 5, 6, 7 pages of discussion for even extremely niche areas of the topic ("What are Patches good for?", "Pros and Cons of unmanaged migration of individual developer customizations", etc.). Everyone has their own approach; to say that you have only these two choices because this "power cat" person says so is to lock yourself off from every other possibility out there.
For instance, what if you keep A, B, C, D, and E each in different repos, and push them entirely independently of one another? There is nothing to say you can't do that. Just because C is changing doesn't mean you need to push the others.
Or, what if only A and B are managed apps and C,D,E are unmanaged in a single unmanaged layer?
What if A, B, and C are managed each in an independent Dev environment, with D and E layered in a fourth, second-tier environment?
What if B and D share dependencies, or E and A share a form, and it needs to be updated?
There are a billion possible complications to solution stacks, and I promise you there are equally many possible solutions. You are asking us to answer, "Do I do A or do I do B?" and I am answering you, "you do whatever you need to do to make it work." If you have an environment with 5 stacked apps, you are in a pretty darn complex environment. For me to tell you to A or B would be silly because I don't know anything at all about that environment - you do.
Think about all your options, weigh your pros and cons, and absolutely comment back here if you want the community to help you weigh those pros and cons, but we can't prescribe an answer to something as potentially complex as a 5-app solution stack without knowing more than "it has 5 apps, and Power cat says X."