I managed to workaround the issue with the following change to
/usr/lib/linux-boot-prober/mounted/40grub2:
diff --git a/40grub2 b/41grub2-linux16
index 885614e..8b3e179 100755
--- a/40grub2
+++ b/41grub2-linux16
@@ -64,7 +64,7 @@ parse_grub_menu () {
ignore_item=1
fi
;;
- linux)
+ linux|linux16)
# Hack alert: sed off any (hdn,n) but
# assume the kernel is on the same
# partition.
@@ -77,7 +77,7 @@ parse_grub_menu () {
kernel="/boot$kernel"
fi
;;
- initrd)
+ initrd|initrd16)
initrd="$(echo "$2" | sed 's/(.*)//')"
# Initrd same.
if [ "$partition" != "$bootpart" ]; then