fsck shows ext4 file system errors, but only when booting from system partition

If you force a file system check on an ext4 file system that is currently mounted in r/w-mode using fsck -nf <filesystem>, you will always get error messages like the ones you posted (corrupted orphan linked list, Deleted inode ... has zero dtime). The fact that fsck -n <filesystem> reports it as clean is a bit misleading here.

The reason you are not seeing these errors in recovery mode or when booted from external drive is simply the fact, that in this case the file system in question is not mounted in r/w-mode, or not even mounted at all.

The manual page for e2fsck also explicitly states:

Note that in general it is not safe to run e2fsck on mounted filesystems. The only exception is if the -n option is specified, and -c, -l, or -L options are not specified. However, even if it is safe to do so, the results printed by e2fsck are not valid if the filesystem is mounted. If e2fsck asks whether or not you should check a filesystem which is mounted, the only correct answer is ``no''. Only experts who really know what they are doing should consider answering this question in any other way.

Conclusion: If you intend to use the -f flag for fsck, make sure you understand 100% what it does. In particular, using it on a mounted file system is usually not what you want.

As to why you are getting ext4 errors when waking from suspend is an entirely different problem which you seem to have already solved. For reference reasons I will include the links you posted yourself in a comment here, as they were helpful in solving your original problem:

  • EXT4-fs error after Ubuntu 17.04 upgrade
  • https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1678184?comments=all