This was a problem in how the NTFS parser was parsing the initial $MFT file record. It wasn't taking into account file systems that had multiple clusters per record, and now it does.
I've tested the fix along with file recovery on a 512 bytes per cluster file system and a 4096 bytes per cluster file system and in both cases the files were recovered and compared 100% to the originals.