Sigh... I didn't know bindings to ucdn existed. It didn't come up on google or duckduckgo for my searches, and is not visible in luarocks under https://luarocks.org/search?q=unicode
Lacking this knowledge, I spent last night writing bindings for libunistring (see https://github.com/daurnimator/lua-unistring) due to needing functions for case folding (which turns out to *not* be sufficient for what I was trying to do, but that's another story).