### Pandas version checks - [X] I have checked that this issue has not already been reported. - [X] I have confirmed this bug exists on the [latest version](https://pandas.pydata.org/docs/whatsnew/index.html) of pandas. - [x] I have confirmed this bug exists on the [main branch](https://pandas.pydata.org/docs/dev/getting_started/install.html#installing-the-development-version-of-pandas) of pandas. ### Reproducible Example ```python df = pd.DataFrame({"a": [1,2], "b":[3,4]}) df.loc[lambda x: x.a == 1, "c"] = "1" / Result / a b c 0 1 3 1 1 2 4 n ``` ### Issue Description When partially defining a column on a mask, rows not included in the mask should be set to NaN. With the new way of handling string in pandas, it seems that NaN values are cast to string ("nan") and then the space optimisation applying a `maxchar` on the column is potentially truncating the "nan" to "na" or even "n". ### Expected Behavior / Result / a b c 0 1 3 1 1 2 4 NaN ### Installed Versions <details> INSTALLED VERSIONS ------------------ commit : 2a953cf80b77e4348bf50ed724f8abc0d814d9dd python : 3.10.11.final.0 python-bits : 64 OS : Linux OS-release : 4.18.0-477.27.1.el8_8.x86_64 Version : #1 SMP Thu Aug 31 10:29:22 EDT 2023 machine : x86_64 processor : x86_64 byteorder : little LC_ALL : None LANG : en_US.UTF-8 LOCALE : en_US.UTF-8 pandas : 2.1.3 numpy : 1.26.2 pytz : 2023.3.post1 dateutil : 2.8.2 setuptools : 68.2.0 pip : 23.2.1 Cython : None pytest : None hypothesis : None sphinx : None blosc : None feather : None xlsxwriter : None lxml.etree : None html5lib : None pymysql : None psycopg2 : None jinja2 : None IPython : None pandas_datareader : None bs4 : None bottleneck : None dataframe-api-compat: None fastparquet : None fsspec : None gcsfs : None matplotlib : None numba : None numexpr : None odfpy : None openpyxl : None pandas_gbq : None pyarrow : None pyreadstat : None pyxlsb : None s3fs : None scipy : None sqlalchemy : None tables : None tabulate : None xarray : None xlrd : None zstandard : None tzdata : 2023.3 qtpy : None pyqt5 : None </details>