Oh, I mixed up two problems.I don’t think this correct given what I’ve read. The issue is that F_FULLSYNC is slow and the reason that slowness doesn’t affect macOS is that macOS doesn’t do F_FULLSYNC on fsync where Linux does. Not doing full sync doesn’t seem like it is just on internal drives but a policy of macOS itself.
1. macOS(or the XNU Kernel)'s fsync() does not flush cache
2. F_FULLSYNC is slow on Apple's nvme controller
Obviously second one only affects internal drive if the software uses F_FULLSYNC.