I've moved the code I'm using to a small wrapper library to make it easier to share: GitHub - Kaiede/PtyKit: Wrapper for PTY Access in Swift
The Swift library uses explicit references to the system library, to ensure I'm not picking up the implicit Darwin import on macOS as a test. I also included the test.c file I use to test the header on Linux, using Swift's clang toolchain.
I've even confirmed that libc itself does export the symbols. Yet for some reason, I still can't see these functions from the Swift code that relies on them.