As a human I would likely port it the same way. First a translation close to 1:1 from the source, then redesign/refactor areas little by little to match the target language idioms
In some cases it's impossible. C to TCL almost fine, C mapped to Scheme, or Prolog, hell awaits, because Scheme's functions can reduce tons of redundant functions to a single one.
C2Rust, the most popular transpiler from C to Rust will leave a bunch of unsafe blocks. After the initial port it is expected for the authors to go in and work to remove them.
Porting is usually a messy process. Do you know it's less safe than the Zig version? Maybe it's just highlighting where the problems already existed. Regardless, wild hyperbole are not constructive.
Ironically, suggesting that 13k is ridiculous compared to an unknown (the zig version is available for assessment) is as compelling as any other vibes.