I guess cron.yaml only loads frontend instances?
The 'target' part of the cron config can set to the name of a backend to have the code run there.
but can I schedule it as a task queue and start it with cron.yaml?
Yes. You can have a cron task (running on a frontend) that schedules a task that will run on a backend. The benefit of this over targetting the backend via cron directly, is that you can configure the retry behaviour of tasks, but can't do so for crons.