It is possible to exclude a key from extend setting it’s value as null. See docs
This works with only as well.
EDIT: just to add an example
.job1-test:
stage: .pre
script: "echo Test"
only:
- schedules
job1:
extends: .job1-test
only: null
.job2-test:
stage: .pre
script: "echo Test"
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
job2:
extends: .job2-test
rules: null