É ambígua, sim, sem contexto é difícil perceber o significado. Consideremos a frase sem "não":
(1) Ele calou-se porque a Joana o confontrou.
Não há aqui qualquer dúvida: (a) ele calou-se e (b) o motivo por se ter calado foi a Joana o ter confrontado.
Ao adicionar "não" , a ambiguidade é que surge é: estamos a negar (a) ou estamos a negar (b). Se estivermos a negar (a), estamos ainda a afirmar (b) (modificado por "o motivo por se não ter calado"), porque "não" cobre apenas a primeira oração.
Se estivermos a negar (b), ainda há uma ambiguidade lógica extra (ou mais exatamente, o facto que a afirmação avança é muito limitado): como o "não" cobre toda a frase, não estamos sequer a afirmar (a), portanto ficamos sem saber se ele se calou e até se foi confrontado. Esta interpretação é equivalente a:
Não é verdade que (ele se tenha calado porque a Joana o confontrou).
Portanto ele pode não se ter calado de todo (apesar de ter sido possivelmente, mas não necessariamente, confrontado), ou pode ter-se calado, mas não porque a Joana o confrontou (quer porque tenha acontecido mas não foi a causa, ou porque a confrontação não aconteceu de todo). Basicamente apenas podemos ter a certeza que o não aconteceu foi aquilo afirmado por (1).
Adicionar partículas como "só", "lá" desfaz a ambiguidade, mas altera o sentido da frase:
(2) Ele só não se calou porque a Joana o confrontou.
(3) Ele não se calou lá porque a Joana o confontrou.
Em nenhuma das frases ele se terá calado. Outra hipótese mais neutra é alterar a a ordem:
(4) Porque a Joana o confrontou, ele não se calou.
Para a desfazer a ambiguidade nos outros sentidos:
(5) Ele calou-se, mas não porque a Joana o confrontou [não é a causa, possivelmente porque nem aconteceu].
Em relação às últimas perguntas, não creio que reescrever a frase com uma oração reduzida introduzida por "por" faça muita diferença.
Projetar para o futuro já faz alguma diferença -- não existe a questão de a Joana o ter confrontado ou não, porque ainda não acontenceu; a afirmação é apenas prospetiva. Mas de resto a frase continua ambígua.