I haven’t needed to figure this out, but I did recall a similar idea being shared here before:
Relevant snippet:
{{- $siteTitle := .Site.Title -}}
{{ if ne .Kind "page" }}
{{ $pag := .Paginate (where .Data.Pages "Section" "blog") }}
<title>{{ .Site.Title }} {{ if $pag.HasPrev }}• Page {{ .Paginator.PageNumber }} of {{ .Paginator.TotalPages }}{{ end }}</title>
{{- else if .IsPage -}}
<title>{{ $title }} • {{ $siteTitle }}</title>
{{- end -}}
Which takes advantage of (Pagination | Hugo):
HasPrev
Whether there are page(s) before the currentHasNext
Whether there are page(s) after the current