I think that we can model Flurry downtime as the chance to have three white non-crits in a row and the chance to have X yellow non crits in a row. Where:
X is the average number of yellow swings during the period of three white swings,
C is crit rate:
E(Flurry uptime) = 1 - (1-C)^3 * (1-C)^X = 1 - (1-C)^(3+X)
This is ignoring per ability crit buff chances (like glyph of Slam)
The unlabeled legend on the right side is supposed to identify each line by a haste value. The band of different values for a given crit percentage represents haste values from 0 to 90%. I made some assumptions to graph this, that Flurry was up 100% (for the purposes of white swing speed,) and that there is one yellow swing per second. So IRL the left part of the graph will be a bid higher (but barely, I think, because crit is clearly the dominant term in the function.)
Notably, at low values of crit 5% crit provides a lot of haste due to increased flurry uptime.
Edit: added the last three sentences, clarified stuff.