This appears to be a bug in SQL Server, the truncation information seems to get corrupted when values are coming from a join.
See bug report: https://feedback.azure.com/d365community/idea/04497da1-5d25-ec11-b6e6-000d3a4f0da0
as well as related stackoverflow question Uniqueidentifier stored as varchar datatype generates random string on concatenation with other varchar values
According to the feedback site, this is fixed in Azure and will be fixed in future SQL Server version