Значение txtTest перезаписывается в вашем событии Page_Load, поэтому вы не увидите значение ViewState. Значение ViewState загружается на этапе предварительной загрузки.
Значение для динамического элемента управления получает значение ViewState, поскольку вы задаете текст, а затем добавляете элемент управления на страницу. Когда элемент управления добавляется на страницу, он будет воспроизводить события. Во время этого захвата значение загружается из ViewState, перезаписывая ваше начальное значение.
Код Джеффа Кира не работает, потому что элемент управления не воспроизводится, пока вы не выйдете из Page_Load. Это можно увидеть, если вы подключитесь к событию Load нового TextBox и добавите пару Response.Writes.
protected void Page_Load(object sender, EventArgs e)
{
txtTest.Text = "BBB";
//PlaceHolder1.Controls.Add(new TextBox() { Text = "AAA" });
TextBox txt = new TextBox();
txt.Load += new EventHandler(txt_Load);
PlaceHolder1.Controls.Add(txt);
Response.Write("page load");
txt.Text = "AAA";
}
void txt_Load(object sender, EventArgs e)
{
Response.Write("textbox load");
}