To me anything where the cluster doesn’t exist independent of your job is “serverless”. So, I’d classify Dataflow, Cloud ML, etc. as serverless because they are job-specific. Even if you wanted to, you could not send two jobs to the same Dataflow cluster.
A fully managed system should have a cluster that you start up explicitly, but then it’s managed after that. Cloud SQL, Bigtable, and Dataproc would fall in that category.