Looking at the *at family of functions and I just realized that I viewed them as part of the capsicum security framework and not as part of allowing a threaded program to access relative paths from each thread's own working directory.
This explains why absolute paths are allowed and ignores the directory fd.
FreeBSD's openat man page explains this.