The JNI refers to "Unicode strings" and "Unicode characters" in a number of places where a particular encoding must be specified.
This page listing the JNI functions describes several functions as taking or producing "Unicode characters". For example,
jstring NewString(JNIEnv *env, const jchar *unicodeChars, jsize len);
Constructs a new java.lang.String object from an array of Unicode characters.
The JNI supports conversion both to and from Unicode and UTF-8
strings. Unicode strings represent characters as 16-bit values [...]
From that, I still suspect "Unicode" in the JNI docs means standard UTF-16 but I don't usually work with the JNI or even Java so I'd like someone who feels authoritative to chime in.
That is what it means.
The JNI Book and the JNI spec were written a long time ago (1999) ... well before the use of code-points outside of the BMP was commonplace.
(Unicode 2.0 was released in 1996, and it extended Unicode beyond 16 bits. Java adopted Unicode 2.0 in JDK 1.1. However, it would have taken some time before everyone in the Sun Java team switched to using the new, correct terminology.)