In general, all your points are correct. NLS_NCHAR_CHARACTERSETdefines the character set for NVARCHAR2, et. and other columns, while NLS_CHARACTERSETused for VARCHAR2.
Why do you see Chinese characters with US7ASCII?
, ( . NLS_LANG) US7ASCII. US7ASCII, "", , US7ASCII. , , .
, US7ASCII. , (, ODP.NET Windows), ! , , .
: , , WE8ISO8859P1, . , US7ASCII, NLS_LANG US7ASCII ( , , Oracle US7ASCII), SQL * Plus, . cmd.exe, , CP950 CP936.
, NLS_LANG=.ZHT16MSWIN950 (CP936, , Oracle) sqlplus.exe chcp 437. , , , .