Técnicamente, lo que se argumenta es el desplace de la condición al cuerpo del while. Yo no creo que esa sea razón para anular un examen.
Y si te anula el examen porque al usar true generas un loop infinito. Hay varias formas en las que puedes producir loops infinitos con condiciones. A veces incluso es mucho más difícil dar con el loop infinito puesto que la condición que lo genera se da también en el cuerpo.
Yo no anularía un examen, a menos que el examen te este evaluando eso, el uso de loops con condiciones. La instrucción debió haber sido explicita. Si la instrucción del examen no incluye los requerimientos mínimos en la cual se debe hacer uso de una condición entonces no hay motivo de anular el examen.
Si tu, sabiendo que el examen era acerca de este tema en específico e inclusive cuenta con la instrucción que delinea los requerimientos entonces si, el maestro hizo bien en anularte el problema/examen.
Los exámenes de programación son para evaluar los conceptos de programación aprendidos. No para saber si sabes programar bien cualquier cosa o no.