Não entendi a parte em que setamos a constante primary no ButtonTextTheme.
Na explicação fala que isso vai indicar a cor do texto e que será baseada na informação do ThemeData.primaryColor.
Setamos esse valor para Colors.green[900]
. Sendo assim, o texto do botão não deveria ter ficado verde?