So far I have come to the following solution:
The problem is now solved by rewriting part of the uboot taken from the manufacturer's image. I fix dtb in armbianEnv.txt to "5b" in the base Armbian image, write it to the EMMC using the utility rkdeveloptool on host PC, and then rewrite part of the bootloader starting at sector 64. At the moment, the solution is like this:
rkdeveloptool db rk3588_spl_loader_v1.15.113.bin
rkdeveloptool wl 0 Armbian_24.11.2_Orangepi5_noble_vendor_6.1.75_gnome-kisak_desktop-fixed-for-5b.img
rkdeveloptool wl 64 idbloader.img
rkdeveloptool rd
Prepare base image (This can be done by mounting an image, but it was easier for me via microSD.):
1. On a host computer I write any Armbian image to a microSD card.
2. On the same computer I edit the /boot/armbianEnv.txt directly on the microSD card. I'm changing the main dtb: ```fdtfile=rockchip/rockchip-rk3588s-orangepi-5.dtb``` to ```fdtfile=rockchip/rockchip-rk3588s-orangepi-5b.dtb```
3. I'm taking an image from a modified microSD card. Now I have an image with a dtb for Orange Pi 5B.
Getting the required part of the bootloader "idbloader.img":
1. I unpacked the uboot package from the official OrangePI image "linux-u-boot-current-orangepi5b_1.0.8_arm64.deb"
2. Now we get and save the file "idbloader.img"
It looks like the problem is somewhere in the uboot build. The solution is still generalized, but it works. I'll dig further to determine the exact cause.
idbloader.img
No problem. This is a working solution, but the exact issue hasn't been identified yet. I'll keep digging into the Armbian build system and see what's up with uboot.