From Oracle documentation:
The maximum column size allowed is 4000 characters when the national character set is UTF8 and 2000 when it is AL16UTF16. The maximum length of an NVARCHAR2 column in bytes is 4000. Both the byte limit and the character limit must be met, so the maximum number of characters that is actually allowed in an NVARCHAR2 column is the number of characters that can be written in 4000 bytes.
We use nvarchar2(2048) a lot across our Oracle DB schema, and AFAIK check only number-of-characters limit. However, with abundance of national characters a 2048 character UTF-8 string can be more than 4000 bytes long.