A origem do problema não é a sintaxe, mas a diferença entre o tar e o zip.
O problema com o envio do arquivo zip via pipe é baseado no projeto do zip
Um diretório é colocado no final de um arquivo .ZIP . Isso identifica quais arquivos estão no .ZIP e identifica onde no .ZIP esse arquivo está localizado. Isso permite que os leitores de .ZIP carreguem a lista de arquivos sem lendo todo o arquivo .ZIP
Ao fornecer zip via pipe - o diretório será acessado somente após o arquivo inteiro ser fornecido pelo pipe, portanto, pv
deve ser concluído antes que o descompactar seja iniciado - o que causa a falha que você está enfrentando.