O que pede enunciado ?
Pede que caso o tipo de assinatura seja nulo, o desconto padrão de 2% seja aplicado.
Analisando as alternativas :
A primeira alternativa usa subscription.type.isEmpty, mas isso não cobre o caso de null.
A terceira alternativa assume que subscription.type nunca será null, o que pode gerar erro de execução.
A quarta alternativa não trata null e também não normaliza maiúsculas/minúsculas, o que pode causar falhas se o valor vier em caixa diferente.
Já a segunda alternativa verifica corretamente se subscription.type é diferente de null antes de aplicar os descontos, garantindo segurança contra NullPointerException e atendendo ao requisito do desconto padrão de 2%.