Semmi sem kötelezi rá, hogy egy x indexet igénylő (ill. x-szel optimalizálható) feladatban pk index alapján listázzon.
Fel is kapná a vizet bárki, ha azzal rongálná a kimenet teljesítményét a kedvenc RDB motorja, hogy egy egyébként nem kívánt rendezettségért egy egyébként szükségtelen indexfájlt is beolvas.
Ha erre épít a kód, akkor a kód vagy rosszul értelmezett, vagy rosszul írt dokumentációra, vagy rossz fícsörre épít, amit előbb-vagy utóbb el fognak hagyni.
Nem tudom, melyik igaz, nem vagyok mysql-kényszerben.
Egyébként valószínű, hogy amit a kimeneten az id szerinti logikai rendezettségnek véltek, az az id növekményességéből következő, _valamennyire_ az idő múlásával korreláló fizikai rendezettség. Ezt számos tényező felrúghatja, és azzal dől is a kártyavár.
Szerk: azért - ha nem is a legnagyobb alapossággal - csekkoltam, hogy mit ígér a mysql, és innen pl. az derül ki, hogy semmit, ha nincs order by - és ez a szabványos:
"3.3.4.4 Sorting Rows
You may have noticed in the preceding examples that the result rows are displayed in no particular order. It is often easier to examine query output when the rows are sorted in some meaningful way. To sort a result, use an ORDER BY clause." - azaz ha sorrend kell, használj order by-t (és ne CSAK elsődleges kulcsot definiálj).
https://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html
Aki azt állította, hogy a pk a kimenet alapértelmezett sorrendjét is megadja, felületesen, vagy sehogy sem olvasott; inkább csak azt hitte, hogy... aztán mással is elhitette.