find procura apenas arquivos que existem na hierarquia de diretórios, não aqueles armazenados dentro de arquivos. Você pode listar os arquivos com tar -t :
tar -ztf ./foo_tar/bar.tar.gz --wildcards --no-anchored 'baz*'
--wildcards permite que * seja interpretado como um caractere curinga, e --no-anchored permite que o nome do arquivo corresponda depois de qualquer / (portanto, ele ainda será encontrado se estiver em um subdiretório no archive).
A correspondência de padrões em tar não é tão flexível quanto em find . Para o tipo de padrão que você descreve, você poderia filtrar o conteúdo completo por meio de grep :
tar -ztf ./foo_tar/bar.tar.gz | grep '\(^\|/\)baz[0-9]\+_'
Como você deseja salvar o resultado em uma variável, você também precisa colocar o comando usando Substituição de Comando :
filename_in_question=$(tar -ztf ./foo_tar/bar.tar.gz | grep '\(^\|/\)baz[0-9]\+_')
Isso ainda seria necessário se você estivesse usando find .