Não tendo idéia do gcp linux, suponho, o segundo exemplo não funciona porque "&" é usado pelo shell para executar comandos em segundo plano. Mas o ssh não inicia nenhum shell quando você especifica um comando, ele apenas executa o comando e sai.
Então, se minha suposição estiver correta, você precisa fazer o login no sistema remoto e executar comandos usando a linguagem de bate-papo do tipo esperar ou tentar enviar o comando inteiro para o segundo plano no sistema local. Algo assim:
nohup gcloud compute ssh -zone {Zone-Name} {vm2} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' &