I'm guessing the Mac (and its sleep command?) do support subsecond mtimes in reality.
echo a > 1 && echo b > 2 && echo c > 3 && ls -t [123] consistently gives me the correct order (3 2 1). The macOS version of stat has a mtime_nsec field that is fully populated and the file modification times differ by about a half of a millisecond. But, looking at that code, I belatedly see that shell arrays are being used. At least I think so. It wouldn't surprise me if the mac /bin/sh doesn't support arrays. But that should result in assuming subsecond mtimes are not supported when they are, instead of the reverse. Anyway, I don't think we can assume arrays, so I'll have to think about that. On macOS, /bin/sh is actually /bin/bash executing in POSIX mode. I _think_ it has arrays but I could check if you have some code you want me to run.