Oi Fagner, tudo bem?
Desculpe a demora em retornar.
Pelo que entendi, você está com dúvidas sobre a mudança de posição do código que define a variável "frase" na função "inicializaMarcadores" do seu código em jQuery. Acredito que a mudança tenha sido necessária porque a variável "campo" é definida dentro da função "inicializaMarcadores", então ela só pode ser acessada dentro dessa função. Quando a variável "frase" era definida antes da função "campo.on", ela não conseguia acessar a variável "campo" e, por isso, não conseguia pegar o texto/frase correta.
Ao definir a variável "frase" dentro da função "campo.on", ela consegue acessar a variável "campo" e, assim, pegar o texto/frase correta.
Espero ter ajudado a esclarecer sua dúvida.
Um abraço e bons estudos.