Thanks for bringing this up, looks like we haven't yet plumbed through the serviceAccountScopes field to the Airflow DataprocClusterCreateOperator - the field would need to be added as cluster_data['config']['gcsClusterConfig']['serviceAccountScopes'] similarly to
where things like metadata are added.
In general, IAM permissions/roles are necessary but not sufficient by themselves for enabling access by service-accounts from VMs; the "scopes" are still necessary even in the context of a given service account to specify the subset of service scopes it can access in the context of a particular Dataproc cluster. If "scope" constraints aren't needed, you'd typically just use something like the "cloud-platform" scope, and then service-account access should be precisely equivalent to its raw IAM permissions.