Davidson: Not knowing how many bytes the incoming characters will take is always the case, for nvarchar, and with 2019, for char. The fact is that for most usage, it can be larger than you expect. It is mostly if you are making tools, or if you are using any of the special collations that allow extra-sized characters. The point is to write your check constraints to limit data to the size and contents of the data that you need it to be.
Kline: In my case, my shorthand rule for using nvarchar is if the database needs to accept multiple languages. However, once you use it in your design, never go back to using plain old char or varchar, not even (or perhaps especially) in code like procs and functions. That’s because char and varchar will throw implicit conversion issues when compared to nchar and nvarchar.