I think that you are confused with how things work when booting an OS. You have to pass parameters to boot the Linux Kernel. Essentially you are high jacking the BIOS and inserting your own code to load. You need to specify what to load for the second stage after the initramfs loads, what is the rootfs, whether you want to load modules at boot, and etc. You can build everything in the kernel so that you do not need to load the modules on boot, but that means that you could introduce issues if the dependent item is not there. Also, why use the 4.19 Kernel instead of building with the 5.2 or 5.3rc kernel. The sources are available for Debian. Regardless, there is no reason that hardware or a custom compiled kernel will prevent you from passing arguments on boot. Something must be misconfigured in your custom kernel. At least I have never heard of this, ever.
EFI stub is not official supported by the Debian Stable branches out the gate. I would recommend using rEFInd if you want to use stubbing. You could also try to use the SystemD efiboot but again, not officially supported with Debian.
Why is it that you cannot use grub2-efi? That is officially the way to boot Debian stable at the moment. Otherwise the ArchWiki and GentooWiki are your best bet at getting this working.
just for the record, I use Grub2-efi on Debian unstable and I use system-boot on ArchLinux
The different boot managers in GNU/Linux land.