For practical purposes, you can think of libuncursed as the display layer of NetHack 4, replacing an older curses library that NitroHack used, which in turn replaced the extensive and rather complicated set of platform-specific user interfaces NetHack 3.4.3 used, which were never entirely consistent with one another, due to being separately maintained.
libnethack is distributed with the game, as part of it, and I think it is even linked in statically by default. Yes, it was written as a highly-generalized support library, so that it *could* be used by other projects if desired and could probably even be made a dynamic library. But if all you want to do is build and run NetHack 4, that doesn't matter.
But in any case the original question from the Dev Team is about what to do in the vanilla codebase that may eventually lead to a new vanilla release (with a number yet to be announced, but 3.6 is probable; the number 3.5 will not be used for reasons explained on nethack.org). The vanilla codebase does not use libuncursed and in a number of additional ways is far more similar to 3.4.3 than it is to NetHack 4.
Although, the NetHack 4 devs are probably following this thread as well and may also implement Unicode in a larger way. (Unicode graphics for map display are already supported there, but things like player names, fruit names, object names, and level annotations are still treated as ASCII, I think, the same as in 3.4.3.)
Another thing not mentioned in the post is that the Dev Team is known to have already implemented some Unicode support, using wchar_t, which you can find in the leaked code (a tarball made from the tip of the dev team's internal repository from a few months ago now), if you hunt down a copy of that. But apparently they have not entirely settled on that implementation as the final solution.