PRs and granularity

Yes, putting separate changes on separate “feature branches” (as they are called) is generally considered to be The Way, with an “integration branch” to merge all your various things together if you want to run a local fork while waiting for mainline to catch up and merge all your PRs.