Is it possible to use a replacement kernel without hacking core?
Well, let's take a look at the classes implementing DrupalKernelInterface. Beyond DrupalKernel, you will find


TestKernel
InstallerKernel
TestRunnnerKernel


Especially the second and the third are very interesting and gives you an idea what these can be used for: if you have a very unusual request flow which should be much more rare than in Drupal 7 then you can write a special Kernel to help. Your entry point will not be index.php but that's fine.