Here's the catch:
{{ state_attr('fan.microwave_fan', 'preset_modes') }} -> None
{{ state_attr('fan.microwave_fan', 'preset_modes') is None }} -> TemplateAssertionError: No test named 'None'.
{{ state_attr('fan.microwave_fan', 'preset_modes') is defined }} -> True
{{ state_attr('fan.microwave_fan', 'preset_modes')|default([]) }} -> None
{{ state_attr('fan.microwave_fan', 'preset_modes') == "None" }} -> False
What to do?