Olá Fernando.
O arquivo vai ser truncado no momento que você utiliza o open, como é dito na documentação da função open e depois o write vai funcionar de acordo com a posição que o ponteiro estiver, e ela sempre será no fim do arquivo a não ser que você utilize a função seek que é detalhada na documentação Input and Outout.
arquivo_contatos.seek(28)
arquivo_contatos.write("Teste")
Utilizando a função seek, você consegue passar por parâmetro a posição que você quer que o ponteiro fique e então quando utilizar o write ele vai começar a escrita desse ponto.
O ponto de atenção que devemos ter é caso o arquivo seja aberto no modo a+, estando nesse modo sempre que utilizar o write o ponteiro vai automaticamente para o final do arquivo, como é exemplificado na aula 2 atividade 3 (Tempo 08:30) onde o instrutor demonstra esse acontecimento.
Espero ter ajudado, mas qualquer duvida não hesite em perguntar.
Bons Estudos.