The cluster agent, with few exceptions, runs on the control plane. Node affinities and tolerations are added to the deployment to achieve this goal.
Using a taint/toleration will allow the agent to run on the node you want it to, but it won’t always achieve that goal. Node affinities tell Kubernetes that you want a deployment to run on a specific node. I think that is what you’re after.
As far as your question of whether a configuration in Rancher allows you to specify an affinity for the cluster agent, I’m not sure. Digging into Rancher’s helm chart is the only way I know to find this out.