It's an impedance mismatch. You're moving files between a system that supports multiple streams per file (data fork + resource fork) to a system that has no concept of different streams (POSIX). The extra stream has to go somewhere, or you get data loss.
It's worth noting that almost all modern file systems support multiple streams. NTFS has alternate data streams, Ext4 has xattrs. Modern SMB and NFSv4 also both support this at the protocol level.
The problem arises when you're using Samba (without vfs_streams enabled), or you're writing to a legacy FAT filesystem, in which case you start getting the AppleDouble files - again, to prevent data loss.
>but I feel like if I want 25 files in a directory, I expect to see 25 there.
What about linux that would have 27 in this case?
I also object to my operating system running all these background processes on MY computer without me commanding it to, and it suggesting on its own that I do this or run that, again in absence of any command to do so. More and more, operating systems and applications are treating MY computer as a dumping ground and science experiment: for things it wants to do, instead of what I want it to do.
I should not have to go off and find a setting somewhere just to stop my operating system from doing things on its own I don’t ask for.