Currently, we preserve the use case of Title::checkUserBlock() returning a block error from a hook via UserIsBlockedFrom even if the user does not have a block (since that hook allows an extension to override whether a user is blocked from a page, regardless if the have a block or not).
However, in Title::checkPermissionHooks() there are many other ways to do this way before the system gets to this point.
Because we are preserving this behavior unnecessarily, we have unnecessary overhead on the database by going through the rest of the blocking logic.
Remove this use case (by returning early if the user doesn't have a block in Title::checkUserBlock()) , but still let the use case remain in User::isBlockedFrom(). Since there is no known usage of using this hook to enforce a block, even though none exist, this shouldn't cause any problems.