Não, -H
e -o
não são mutuamente exclusivos. Você pode ter um caractere de retorno de carro na parte correspondente. Isso faria com que o seguinte texto fosse escrito no início da linha, sobrescrevendo o nome do arquivo.
$ printf 'foobar\n' | grep -Ho '.bar'
(standard input):obar
$ printf 'foo\rbar\n' | grep -Ho '.bar'
bar
Além disso, como as duas linhas pertencem ao mesmo arquivo baz.txt
(se o seu exemplo estiver correto), isso também pode ser devido a uma linha longa (maior que a largura da tela) ser quebrada na próxima linha.
$ printf 'foo%80sbar\n' | grep -Ho 'foo.*'
(standard input):foo
bar
Se um desses cenários pode se aplicar à sua situação, realmente depende da sua regex de pesquisa e do conteúdo de seus arquivos.