There are two points of confusion here.
The first is that you seem to think
NULL are the same; they're not. The former is a string literal, the latter merely signifies the absence of a value.
The second is that you can use
NULL in equality comparisons; and you cannot. Try this:
SELECT CASE NULL WHEN NULL THEN 1 ELSE 0 END;
The reason is that
NULL is unknown - so SQL Server can't tell you whether it is or is not equal to a specific value (or even to another
NULL value). To check if a value is
NULL, you can't say
CASE WHEN value = NULL or
CASE value WHEN NULL, but you can say
CASE WHEN value IS NULL:
SELECT CASE WHEN NULL IS NULL THEN 1 ELSE 0 END;
Now, I think there are better ways to accomplish what you seem to need (I'm not confident I understand the requirements here at all), but in the immediate term you can correct this by saying:
select case WHEN (select ... ) IS NULL then 'N' end as dd;