Contando vistas de página para usuarios (no personal, no rastreador)

La consulta parece que debería funcionar.

Sí, tal como está escrita, cuenta las vistas anónimas. Para las vistas anónimas de temas, el user_id será NULL y la ip_address será NOT NULL. Podrías excluir las vistas anónimas añadiendo la siguiente condición a la consulta:

AND user_id IS NOT NULL

Eso podría hacerse mediante un plugin. El plugin Discourse Solved añade un informe al panel de administración. Podría haber algún código en ese plugin que sea útil como ejemplo de cómo añadir un informe: discourse-solved/plugin.rb at main · discourse/discourse-solved · GitHub.