Is there a way to set build parameters outside of the pipeline directive?
EDIT:
It might have a chance for me to misread your question at the first time, so let me add another one. 

If you meant by Jenkinsfile as you have a manual parameter input in Jenkinsfile for Multibranch or Github Org pipeline, then probably bad idea.

Those kind of jobs should run with predefined parameters or take them on-the-fly like manipulating some environment variables without user input.

You can simply make another pipeline job for manual trigger if the predefined parameters can't cover all the case you need.

And for run function, it looks like build job is what you are looking for.

https://jenkins.io/doc/pipeline/steps/pipeline-build-step/#-build-%20build%20a%20job

build job: 'Another job in same Jenkins server', parameters: [string(name: 'param1', value: ${new_value})]


--------------------------------------

Are you sure the parameter input is waiting for slave containers?
or do you use some special choice plugins for build parameter?

I think a job is even not starting until a user fills out the parameters and hit the build button in Jenkins UI - so no container required until then.
We had same k8s slaves, but never had that issue.

(But some parameter plugins might need some pre process..)