ADO is far worse in every conceivable way. It lends itself to utterly byzantine dependency trees for the CI definitions, and also makes it very complex to set permissions to prevent pipelines running from branches with the same permissions as the protected branch.
It really isn't worse than ADO. I suspect the author has not been subjected to ADO, or he'd have literally exploded given this is the way he feels about GHA.