I am not sure if the following patch is what was intended with the change to OOT=KEEP change for kernel. We have a folder within our BSP with a kernel tree and we symlink to that folder using local_src/kernel.<platformname> and local_src/kernel-header.<platformname>.

We use an external kernel source tree and kernel headers from the same
folder. It seems with our kernel at least building the kernel-headers in
tree causes the out-of-tree kernel to fail to build.
---
 rules/kernel-header.make | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/rules/kernel-header.make b/rules/kernel-header.make
index c173eb74b..6f540409f 100644
--- a/rules/kernel-header.make
+++ b/rules/kernel-header.make
@@ -25,8 +25,10 @@ KERNEL_HEADER_URL := https://git.kernel.org/torvalds/t/$(KERNEL_HEADER).$(KERNE
 endif
 KERNEL_HEADER_SOURCE := $(SRCDIR)/linux-$(KERNEL_HEADER_VERSION).$(KERNEL_HEADER_SUFFIX)
 KERNEL_HEADER_DIR := $(BUILDDIR)/kernel-header-$(KERNEL_HEADER_VERSION)
+KERNEL_HEADER_BUILD_DIR := $(KERNEL_HEADER_DIR)-build
 KERNEL_HEADER_PKGDIR := $(PKGDIR)/kernel-header-$(KERNEL_HEADER_VERSION)
 KERNEL_HEADER_LICENSE := GPL-2.0-only
+KERNEL_HEADER_BUILD_OOT := KEEP
 
 # ----------------------------------------------------------------------------
 # Prepare
@@ -37,6 +39,7 @@ KERNEL_HEADER_PATH := PATH=$(CROSS_PATH)
 KERNEL_HEADER_CONF_TOOL := NO
 KERNEL_HEADER_MAKE_OPT := \
  V=$(PTXDIST_VERBOSE) \
+ O=$(KERNEL_HEADER_BUILD_DIR) \
  HOSTCC=$(HOSTCC) \
  ARCH=$(GENERIC_KERNEL_ARCH) \
  CROSS_COMPILE=$(PTXCONF_COMPILER_PREFIX)
--
2.20.1