Greate article and video. For me the connection you explained between D.I. and D.I.P is quite valuable. And your image "move up 'new' in the call stack" was very intuitive for me.
Though I know what you mean I found the section "Abstraction in Code; Details in Metadata" too abstract to grasp easily. Similar your "generic patterns" and "the server". The same objection I have against Uncle Bob's "High level modules should not depend upon low level modules". I mean, what is a "high level module"? Not easy to understand for a student. Sadly I have no better alternative, but as I remember you are good at improving names. ;-)
I usually explain it with a concrete example everybody knows. Replacing
GUI -> Domain -> Persistance
with GOOS / Ports & Adapters style
GUI -> Domain with Repository Interfaces <- Persistance