Thanks. May be, my concerns are irrelevant, but what I am missing in your configuration - with regard to the display - is something like what is appended here:
### BEGIN /etc/grub.d/00_header ###
[...]
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
if [ x$grub_platform = xefi ]; then
insmod efi_gop
insmod efi_uga
else
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
fi
}
[...]
### END /etc/grub.d/00_header ###
i.e. loading efi driver modules.
which is afterwards called like
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=1
else
set vt_handoff=
fi
}
[...]
menuentry "Debian GNU/Linux Live ${debian12_vers} (nomodeset) [bookworm] (ISO)" --class debian --class gnu-linux --class gnu --class os {
recordfail
load_video
gfxmode $linux_gfx_mode
[...]
}
[...]
### END /etc/grub.d/10_linux ###
The colour-scheme should be something like
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30,0; then
clear
fi
### END /etc/grub.d/05_debian_theme ###
I do hope, it helps a little.