[matcher] never omit explicit `default` even when the type is considered finite (closes #3649)