Hello Alexander,
See
http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Basic-concepts
section 'Rescue domain':
"If ddrescue can't determine the size of the input file, the rescue domain
defaults to the maximum size of a block (at least 2^63 - 1 bytes, or 8 EiB
minus 1 byte)."
The problem is caused by Mac's lseek failing to return the input file size.
See https://pubs.opengroup.org/onlinepubs/9799919799/functions/lseek.html
section 'RETURN VALUE':
"Upon successful completion, the resulting offset, as measured in bytes from
the beginning of the file, shall be returned."