> As a regular code reviewer, I’ve grown to dislike extension methods quite a bit as it violates the principle of least surprise.
I disagree. The common use case for extension methods in ASP.Net Core apps is to extend the builder to apply configurations like all other projects. This pattern is so pervasive that the surprising outcome would be if a member function was not an extension method.