uzbl, the one I've used the most, primarily consists of a pile of code to map callbacks to a protocol on stdin/stdout, and a handful of example scripts to communicate over that protocol - it's certainly no more "from scratch" or smaller than any other WebKit-based browser.
I expect that the other two similarly focus on UI code rather than pointlessly fiddling with WebKitGTK+'s internals - how are they not just skins (albeit of WebKitGTK+, not Chromium) as well?