That’s a bug that should be reported. (Edit: no need, it’s mentioned by mattf it’s fixed in development version of typst, which I also confirmed.)
If you draw them in boxes it seems to avoid the crash, in case you want to continue: for i in range(start, end) {box(stroke: 0.1pt, inset: 0.1em)[#str.from-unicode(i)]}
You can also loop over dictionary(emoji) to list all the top level emojis. Unfortunately I don’t think it’s possible to inspect which variant/subemojis each symbol has, so I can’t list them all (like emoji.airplane.landing etc).