The first thing you need to do is compare the streets on the ground with the maps at OpenStreetMap (openstreetmap.org). It is possible that there is an error on the base map, used by Garmin and used by City Strides to generate nodes. If the map is incorrect on OpenStreetMap, then it will be wrong on your Garmin, and will be wrong here.
If it is wrong, then you’ll need to edit the map on OpenStreetMap. There’s a tutorial online, plus lots of help available. It’s not all that hard.
I generally find I’m making a correction to OpenStreetMap at least once a week. I live in a heavily wooded area, and the roads on the map are often far longer than the actual road. Toss into the mix the number of private roads, etc., and you’d be amazed at the corrections that need to be made. (I’ve also found errors on Google Maps, but I have no idea how to fix those.)
Once the map is correct on OpenStreetMap, two things will happen on City Strides. First, the map that’s displayed will be updated with your corrections. This happens relatively quickly. The City Strides site uses a different site to create the maps, and it gets updated often. Second, eventually the nodes that are impossible to reach will be removed from City Strides. However, for this process “eventually” is the important word. The creator of this site is working on a data update process. However, he hasn’t completed the coding for this yet. There have been other issues such as Strava’s insanely low API limit with higher priority.
Or, you can take the cop-out easy way out. Just mark the road as completed on City Strides, leaving the problem for the next runner. Once it’s marked as complete, you won’t see those ugly red nodes.