Yes but the instruction set is only a tiny part of conpatibility. Intel and amd have generally standardized on ACPI for hardware discovery for example. But ARM has not. This means there is no Generic way to know what the capabilities of arm system are. That's Just one of the issues though.
That's the entire problem. A dtb file is unique for every different soc and that also means every single device requires a kernel update or a at the very least a patches kernel.
If it were only dtb's it would be an easy fix. Just have a database of dtb's on the boot medium that the kernel can look for. But often the mainline kernel simply lacks drivers for the hardware the arm vendors ship. Instead the arm vendors use a forked kernel that's way outdated by the time the device enters the market. In fact, as much as I love FLOSS, that's a negative consequence of FLOSS because had Linux been proprietary, they would have had to work with the entity that develops Linux instead of just forking it.