(Matching unit) may only be used inside a 'Pick every unit in (units matching condition)' action. Any other time it returns null, so the trigger is not run because the condition always evaluates to 'False'.
Also, use (Triggering unit) instead of (Casting unit), because there may be different unit or no unit set in (Casting unit) after the 1 second wait. Such issue will not happen with (Triggering unit)