Really should be optimizing for both fast page load times *and* low query count. As you grow, scaling database queries is one of the hardest things to do (much easier to scale out web servers/HTTP requests).
If your pages take 100+ queries to render a page (for example in vBulletin 5), you are going to bottleneck on your DB server REALLY quickly.
You can also scale a DB, you can have replication, master-slave.
The proper way of doing optimization is doing a profiling of the application, based on the load time, detecting which is the bottleneck, and then optimizing for that bottleneck. If the bottleneck is the DB, then sure, optimize for that, and it can be total query time, or number of queries (since each query is a trip to the server, but not necessarily a new connection).
The problem with getting fixated on the query count is that it actually produces scenarios in which it is harder to scale the application, in XenForo there are a lot of joins done against the visitor Id (read markers, etc), which in turn end up rendering the query as non-cacheable from either the application or the query cache DB side.
vBulletin 5 didn't have it completely wrong, the problem is that they are using a technology that goes against the architecture, PHP by nature does not keep state, it serializes it, it does not have a native application scope. And MySql realy was designed with "establish a new connection every time" mentality. The scenario of multiple idempotent queries is not bad, but you need the proper architecture to support that, and I would argue that PHP+Mysql is hardly that, it makes all the queries again each request or does crazy unserializing. Both bad scenarios.