The real difference is the location of the kernel and the initramfs. With systemd-boot, the kernel and initrd live in the EFI partition which is not encrypted. So the bootloader loads the kernel and initrd and the initrd asks for your password and decrypts the root filesystem.
With grub, the kernel and the initrd are inside the encrypted filesystem. So grub has to ask for your password and decrypt the filesystem before it can load the kernel and initrd. However, the initrd will still have to also decrypt the the root filesystem. To avoid getting asked for your password twice, we add a keyfile during the install. That way the initrd can decrpyt the filesystem without asking for your password.
The biggest reason we continue to support grub is for people who want to boot off of snapshots.
If we put the kernel and initrds in the ESP, it will break that use case. This is because when the snapshot is rolled back the kernel & initrd will be out of sync with the installed system.
If you mean should we make the installer support luks2 with grub, it isn’t about removing workarounds, we would have to build support for it in Calamares first.
Ideally this would be done upstream in Calamares itself.
In order to make it support luks2, you had to add options to GRUB_PRELOAD_MODULES. That is part of the Calamares config for grub.
The part that we added to our for was to let it have a different option for grub and systemd-boot.
Keep in mind, adding support upstream would need to be conditional on which version of luks was selected because Calamares is used with a lot of different distros. This includes LTS distros which won’t be getting the new version of grub for quite some time.