Ironically, the reason the middleware approach is recommended is because it applies regardless of deployment method, whereas an IIS rewrite rule would only affect deployments to IIS. If you later decide to deploy one or more of these apps into cluster, for example, then, whatever IIS rewrite rules you might have had no longer apply. Setting it on the application level enforces the state for that application, not one specific deployment method. Also, keep in mind that not everything should necessarily be HTTPS. When deploying into a k8s cluster, for example, you'd often turn this off, because you'd be using SSL termination at the gateway instead.
There's no real way to enforce this middleware, nor should you, considering valid cases such as described above where it actually shouldn't be present. As always, indepedent review is always your best bet. When a new app goes into production, whether or not it should enforce SSL should be evaluated and should be enforced at that stage.
Also, FWIW, it doesn't have to be either or. You can employ both the middle and the IIS rewrite. In that case, the middleware will effectively never be utilized because all requests will always be HTTPS, because of the IIS rewrite, but if for some reason that piece is missing, the middleware is still there as a fallback.