I am not aware of any dotlrn design documentation. OpenACS has quite a bit, check out
https://openacs.org/doc/current/ at look at the Platform Developer's Guide for design documentation of the object model and more.
Regaring site-wide administation vs. dotlrn administartion:
First, some people use dotlrn alongside other non-dotlrn packages so we need to make sure nothing is lost.
Second, you want to reuse as much as possible between dotlrn and openacs by using reusable pages, includes etc.
Third, dotlrn has some issues where the dotlrn mounted under the main subsite acts like a replacement for site wide admin, and all the other dotlrn instances act like a replacement for acs-subsite. Jeff Davis has added support in OpenACS 5.2 to make it possible for a dotlrn instance (or another other package) to logically replace a subsite, and appear to the site node code as a subsite. So the missing piece is overriding the build in acs-admin site-wide administration pages without losing access to any of the default functionality.