Because ARM lacks some of the device auto-discovery features that amd64 provides for free, unless you're lucky and use a device with ACPI+DSDTs on ARM. You need a special build for the hardware, but you don't need to alter the source code.
Custom kernels also exist for amd64 devices, often including workarounds and patches that are not in mainline to improve performance or compatibility.
As a vendor, that requires practically zero extra effort.
https://wiki.postmarketos.org/wiki/Devices has a list of devices that run either mainline or almost-mainline Linux. Only the "downstream" devices require vendor Linux kernels. Of course, hardware support is partial for most of these devices because vendors haven't contributed proper upstreamable drivers and volunteers haven't had the time to write them yet, but it's not like every ARM device needs a special kernel fork, that's just something ARM vendors do out of laziness.