Answer
This kind of in-parameter calculation only works for parameters of datatype DATE, and only when the expression is built around the literal keyword sysdate — a NUMBER-type parameter like a plain year value doesn't support any calculation syntax at all; whatever you type into it is passed through completely literally. There's no way to make arithmetic work on a NUMBER parameter this way — the practical workaround is to schedule a separate one-off run each year with that year's already-computed literal value hardcoded into the schedule (for example, a schedule run in 2023 with the value 2028, then a new schedule the following year with 2029), rather than trying to get the database task to compute it dynamically.