checkout scm is currently only available for multibranch workflows, not for standalone jobs. However I think it could be made to work in standalone jobs using the Workflow script from SCM definition.
It would be weaker since it would only be a shortcut for specifying an equivalent SCM definition in the script body, whereas in multibranch projects the scm variable is actually guaranteed to check out the same revision as Jenkinsfile was using. (Consider a commit pushed to the SCM between the time the Workflow script is checked out, and the time the checkout step runs. In a standalone project, the checkout step will pick up the new commit, whereas in a multibranch project scm will use the original commit. That could matter in case you are making changes coördinated between the Workflow script and other project sources, such as this one.)