[Galaxy Tab S Android Development] :
This was my first guess as well. Though I didn't change any thing in the device tree, I checked init*rc from both ramdisks (from KK kernel, which is working and from L kernel which is not working). As expected both ramdisks are exactly the same.

In bothe versions there is no (explicit) mount command for /system; both seem to carry out the mount with

mount_all /fstab.universal5420

from init.universal5420.rc.

ingo@adler /usr/local/src/cm12/out/target/product/chagallwifi/root $ grep dw_mmc *rc
init.universal5420.rc: wait /dev/block/platform/dw_mmc.0/by-name/PERSDATA
init.universal5420.rc: # check_fs /dev/block/platform/dw_mmc.0/by-name/PERSDATA ext4
init.universal5420.rc: mount ext4 /dev/block/platform/dw_mmc.0/by-name/PERSDATA /persdata/absolute nosuid nodev barrier=1
ingo@adler /usr/local/src/cm12/out/target/product/chagallwifi/root $ grep mount *rc
init.rc: # create mountpoints
init.rc: # Create cgroup mount point for cpu accounting
init.rc: mount cgroup none /acct cpuacct
init.rc: # Create cgroup mount point for memory
init.rc: mount tmpfs none /sys/fs/cgroup mode=0750,uid=0,gid=1000
init.rc: mount cgroup none /sys/fs/cgroup/memory memory
init.rc: # Directory for staging bindmounts
init.rc: # imagefile directory will be bind-mounted
init.rc: # Secure container public mount points.
init.rc: mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
init.rc: # Filesystem image public mount points.
init.rc: mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
init.rc: mount cgroup none /dev/memcg memory
init.rc: # Create cgroup mount points for process groups
init.rc: mount cgroup none /dev/cpuctl cpu
init.rc: mount pstore pstore /sys/fs/pstore
init.rc:# Load properties from /system/ + /factory after fs mount.
init.rc:# Indicate to fw loaders that the relevant mounts are up.
init.rc:on firmware_mounts_complete
init.rc: # Load properties from /system/ + /factory after fs mount. Place
init.rc: trigger firmware_mounts_complete
init.rc: mount rootfs rootfs / ro remount
init.rc: # mount shared so changes propagate into child namespaces
init.rc: mount rootfs rootfs / shared rec
init.rc: # We chown/chmod /cache again so because mount is run as root + defaults
init.rc: # We chown/chmod /data again so because mount is run as root + defaults
init.rc: # Do this before we mount cache so eventually we can use cache for
init.rc: socket vold stream 0660 root mount
init.rc:service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted
init.universal5420.rc: mount debugfs /sys/kernel/debug /sys/kernel/debug
init.universal5420.rc: mount_all /fstab.universal5420
init.universal5420.rc: mount ext4 /dev/block/platform/dw_mmc.0/by-name/PERSDATA /persdata/absolute nosuid nodev barrier=1
init.universal5420.rc:# umount service
init.universal5420.rc:service umount_service /system/bin/umount /preload
init.universal5420.rc: mount ext4 /dev/block/mmcblk0p20 /preload nosuid nodev ro barrier=1
init.universal5420.rc: start umount_service

fstab.universal5420:

# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
# data partition must be located at the bottom for supporting device encryption

/dev/block/platform/dw_mmc.0/by-name/BOOT /boot emmc defaults defaults
/dev/block/platform/dw_mmc.0/by-name/RECOVERY /recovery emmc defaults defaults
/dev/block/platform/dw_mmc.0/by-name/SYSTEM /system ext4 ro,errors=panic wait
/dev/block/platform/dw_mmc.0/by-name/EFS /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/dw_mmc.0/by-name/CACHE /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/dw_mmc.0/by-name/USERDATA /data ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check,encryptable=footer
# VOLD
/devices/platform/dw_mmc.2/mmc_host/mmc2 auto auto defaults voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/exynos-dwc3.0/exynos-xhci.0/ auto auto defaults voldmanaged=usbdisk:auto

BTW: I don't see a error message for any mounts in last_kmesg, I just guessed, 'cause I can't imagine any other reason for init not finding /system/bin/surfaceflinger (which is there, if I mount system grom twrp).