True, but there are many issues that might not seem obvious at first. For starters, XNU is _not_ a FreeBSD kernel. It’s a hybrid kernel, there is a Mach 3 based kernel at the very bottom with a FreeBSD kernel ontop. Mach takes care of providing, well, Mach IPC, but also virtual memory, threads, processes, scheduling and all that kind of stuff. The FreeBSD part is, in a lot of ways, only a shim down into Mach land, but also brings its own systems like the VFS and networkstack and most of the other userland facing things.
I feel like it would be very non-trivial to switch to DragonFly BSD, because then a lot of the shims have to be re-designed in order to still work, simply because of the highly different design of DragonFly BSD. Disclaimer: I haven’t studied the DragonFly BSD source code yet.