This is a well known issue with NHibernate handling nvarchar(max), see :
For some years now, I have been file mapping nvarchar(max) columns to StringClob without encountering any problem :
<property name="myProp" column="MY_PROP" not-null="true" type="StringClob" access="property"></property>
This link (from the comments) describes the fluent mapping required to fix this issue:
https://www.tritac.com/nl/blog/fluent-nhibernate-nvarchar-max-fields-truncated-to-4000-characters/
Map(x => x.Description).CustomType("StringClob").CustomSqlType("nvarchar(max)");