Sorry. It is not an answer. But just some opinion.
You are trying to compare "apples" with "oranges".
MVC concept is a concept related specifically or mostly to WEB development.
It recommends developer to not mix content (Model) with representation (View) and with logic (Controller).
On other hand things you've mentioned: middleware, Guards, facades, Contracts.
They all are mostly about general programming concepts and kind part or an extentions of OOP principles.
Let not talk about your specific terms: middleware, Guards, facades, Contracts
, but just about OOP.
Any OOP principle can be applied to any part of MVC.
We can create Model using OOP (classes, interfaces, etc) or we can do it some procedural way or mix of OOP, procedural and classic spaghetti.
Same about View and Controller. You can use some OOP principles and techniques or you can limit usage of those or ignore them. That is up to developer and/or probably it depends on the project scope and design.
Coming back to your list: middleware, Guards, facades, Contracts. I would say those are just part of a big family of OOP terms and practices existing in modern software development world. I mean unfortunately we can not do any parallels between MVC and some list of OOP practices.
Another idea I would point is that OOP is much more general than MVC, WEB and data-representation-logic kind software.
Let say we need to develop new OS kernel. I would say there is no that much room to apply MVC for such application. But OOP could be still usefull. Same about embedded systems, or some specific software, drivers, servers, etc...