Core component of SQL Server for storing, processing, and securing data
I was able to reproduce your results. I also tested on SQL 2012, and the outcome was largely the same. Thus, this does not seem to be any recent regression.
I don't want to venture to answer the first two questions as they require knowledge from the inside that I don't posses. As for the third question, I think the results speak for themselves. I note that in terms of elapsed time, MAXDOP 4 appears to be the sweet spot. The fact that queries do not always benefit from higher DOP is not unique to CLR queries, but this can be seen with other queries as well. This is why Microsoft introduced DOP Feedback which first came in SQL 2022, but did not become a mainstream feature until SQL 2025.
However, that feature does not seem to help in this case. I tried, but nothing happened. (Running queries as such without any hints.) When I set up an Extended Events session with the events for dop_feedback, the query came up with eligible=false. This does not seem to have to do with the CLR as such, though, because I got the same result with your control query, that is
select count(*) /*clrspin IsMarkedMax dop8 run3*/ from dbo.T where substring(Code, 4, 1) = 'M'
I also tried adding two T-SQL functions for which I had turned off inlining. Here the results were entirely different. And worse. That is, a T-SQL UDF prevents parallelism entirely. TSQL4000 was also considerably slower than IsMarked4000.
I suspect that this is just what things are, and I would be surprised if Microsoft accepts this as a bug. While you have reported this on the feedback site, this is only to let Microsoft know. If this is an issue that is blocking you and you would need it to be fixed, you would have to open a support case. I think in this case, you also would need to argue from a business perspective. That is, what is the actual business impact of this performance issue?