I did some tests to compare insert performance between untyped XML, typed XML, and NVARCHAR(MAX). I found that XML was the fasted and used the least storage on disk. The test that I did, inserted 7,936,510 rows. It used the XSD at https://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd.
I ran the typed XML test twice. The first time took 01:23:26.1355961. The second time I took 01:15:15.5957446. The size on disk was 57,520,685,056.
The untyped XML test took 00:48:48.6290364 and was 36,515,610,624 on disk.
The NVARCHAR(MAX) test took 00:50:22.1841067 and was 72,620,179,456 on disk.
Note, I dropped and recreated the database for each test.
My take away from this is that it's best to use untyped XML instead of NVARCHAR(MAX) because it uses a lot less disk. Maybe if you just used non-Unicode VARCHAR it would be less of a difference. I'm thinking it's probably using two bytes to store each character. But, also, there is a lot of whitespace in the files. So, that's a lot of wasted storage there. So, that might have had something to do with it.
I'm not sure how much of the extra slowness associated with using typed XML versus untyped XML is due to the validation, or, if there are other differences. If I remember correctly, I once read that the data is stored in hidden tables relationally. I'm not sure if it does this for both typed and untyped XML.
I haven't yet tested query performance. I'm assuming it would be faster for typed XML.
Also, I specified that the typed XML was DOCUMENT, not the default CONTENT.