Food for thought.
You can of course use whatever layout you like and then while ctrl/alt/meta is pressed it switches to qwerty, doesn't save vim users though (or other applications where shortcuts don't need to be prefixed).
I'm not convinced switching from qwerty is that beneficial, I believe (but have not yet tried it) an orthogonal keyboard will do more than any layout will. But I admit that I don't have experience to back that up.
Optimizing your layout for English is not necessarily ideal for anyone writing in more than one language.
edit: I guess the above can be manageable (with compromises), but in my opinion it does take away much of the appeal with a new layout.
Two minor problems, though: In Dvorak, V is immediately beside W. Ctrl+V means paste, but Ctrl+W means close window, so care is needed. And, any keyboard that lack Right Ctrl (e.g. the Microsoft Surface series) is an abomination.
(QWERTY does well enough if you move a Control key back where it belongs by doing away with the useless Caps Lock key. Looking at Workman, you'd need to do away with a redundant Backspace (???) key to get the same effect, but all of the other meta keys and punctuation look sane.)
In grad school, I did a lot of work on the Quadratic Assignment Problem (https://en.wikipedia.org/wiki/Quadratic_assignment_problem). If you model that "key reachability" metric as two-key sequence difficulty instead, you actually get a QAP instance to solve. I built a little toy project that would look at the source text of my dissertation in LaTeX as well as the accompanying C++ source code for bigram frequencies, and I mapped out a flow matrix manually in a similar way to the author here, but including that successive keypress difficulty, and ran my multiobjective QAP solver to generate a range of keyboards optimized for my specific dissertation work.
I did this as a fun little gimmick as part of a sort of "ignobels" within my department, so the results weren't really a thing you could use. To generate a usable keyboard layout, you need to also include a ton of heuristics for things like "put all the number keys together" and the idea that you can treat "a" and "A" as the same letter, but "2" and "@" may make sense to separate, none of which I really properly handled. But I think with some work one could actually formalize the problem of finding a real layout for normal people to use.
I did the test, my ideal layout is Colemak. So I programmed my keyboard with that layout. It took me a while to learn it.
Other factors to consider would be time-to-learn, hot-key placement, device compatibility and general flexibility. I put my own Python code in your test and workman did much better. Be sure to use several samples when making a determination.
In most of my tests, Colemak was a consistent winner by a small margin.