Proposal:
Say something like we use the functional class with the exceptions that a road can be upgraded based on local knowledge of function to produce better routing (what happened to the idea that a city wants people to use certain roads and not cut through on residential streets even if they are faster?), or downgraded to dirt where local knowledge is that the road does not really serve its designated function because there is a paved alternative.
All dirt roads are not equal. Graded and rolled dirt roads that are wide enough for opposite-direction vehicles to pass without slowing down are quite different from single-lane Forest Service roads that ford streams and have steep gradients. Even with gravel roads, there are those that are good roads and those that I consider to be dirt roads. Waze has to distinguish between them so that it can discriminate between them for routing where they are the only choices. Many won't have speed data. There might not be continuous cellular data coverage.
Local knowledge can apply some objective criteria. Do school buses and/or package delivery services (e.g., USPS and couriers) use the dirt road? If so, it probably is at least a street.