It might be possible to model traffic with OSMnx to assign weights to roads by expected traffic levels https://github.com/gboeing/osmnx
Depending on where you live you might be able to get traffic data and maybe traffic models from public authorities using Freedom of Information requests. eg London's TFL:
https://datatonic.com/case-studies/traffic-prediction-tfl/
>Designed to gather data from all over London, TFL’s Urban Traffic Control (UTC) system collects car activity records via 14,000 individual road sensors located throughout the city. We were given 3-months worth of these records to create our traffic prediction model — totalling over 120 billion data points.
Once you have road weights you can use something like brouter - https://brouter.de - it can already do road types and elevation.
I guess that could be limited by how good the mapping data is where you live but it works really well where I am.
Back when I used it my commute had tens of segments with 40km/hr medallists, and a sprint segment with weekly new records in excess of 50km/hr. And, you can even catch snipers rolling on to and off a road near me to protect effort for a two kilometre junction-free sprint most weekends.
These days it's all a bit moot as you get people on ebikes and scooters "cheating" by recording their rides as road rides (either deliberately or more often by accident).
On cheating: I used to moan about Strava accepting car and train journey speeds when it felt obvious how to detect some of them, but I can't even begin to imagine how to automate detection in the era of e-bikes. People must spend a lot more time flagging rides to maintain their magic internet points trophy now ;)
I'm a very experienced cyclist and I don't upload my 'transportation' rides. It's not worth it. So all the data from me riding a particular route twice, five times a week - as well as my preferred routes to various activities, shopping, etc - doesn't make it into strava. My fun / training rides do.
Strava ride uploads tend to come from more confident and willing to ride on roads that are more intimidating or require confident riding techniques to be safe (such as riding at the edge of a bike lane, or on a multi-lane road, taking the lane). Cycling in urban settings is much less intimidating if you're fit and able to accelerate quickly and bike at closer to the average speed of traffic (which often really isn't that fast.) Drivers are a lot less prone to "punish passes" and other dangerous behavior if you're fast.
They may ride a particular road that is terrible for cycling but they have no other choice because of where they are coming from or going to, and because they tend to ride a lot, they'll bias the heatmap. One of my favorite routes to ride involved an utter shitshow of 5 minutes worth of riding, and I took that road several times a week.
It should also be known that Strava tries to play up their "we make data available for city urban planners and cycling advocates!" to their userbase...and then turns around and charges an obscene amount of money.
Speaking of money: strava data means you miss the vast majority of people riding bicycles - those on the very lowest rungs of the economic ladder. They don't have GPS activity watches or GPS bike computers, they don't give a damn about recording their ride to/from work/school; they may not even have a smartphone, period. They don't have 12+ hours of leisure time a week to go for rides for fun, etc.
Bike advocacy groups are increasingly trying to account for these folks, because they're largely "invisible" - they don't sign up for newsletters from bike committees and advocacy groups, they often are riding outside "9-5" commute hours because they're working shifts/nights and riding to/from neighorhoods wealthier folks do. Most people think that in any given city the predominant cycling demographic is hipster programmers on track bikes...not realizing how many cyclists are maintenance/cleaning/construction/food service workers are out on the roads while they're asleep.
I would think it would be a challenge to get useful data from such a source even if resolution were high enough. That nice low traffic road may have been photographed in the weekend, outside traffic hours, on a national holiday, because of a road black a kilometer away, etc.