Hola John!
Sí, esa parte de la solución es incorrecta. Si te fijás, en la llamada recursiva se tiene cuidado de realizar XOR AH, AH antes de pushear, por lo cual luego de una llamada recursiva es equivalente comparar con byte ptr o word ptr (porque total la parte alta es 0), pero no se menciona cómo se realiza la llamada inicial. Por esa razón, es incorrecto comparar con word ptr, como bien decís.
Saludos,
Federico