Sailfish OS can run on mainline kernel. The Jolla Phone does not run a mainline kernel because it consists of off the shelf phone components and those are for Android phones outside of the world of iOS.
Mainlining is anything but easy if you aim is a functioning daily driver and not a tinker project, especially in a team as small as Jolla's with so many more urgent tasks.
PS: Angelfish runs just fine on my Jolla Phone.