Well ... no these aren't subsites, they're instances of dotlrn (as you point out) and dotlrn implements a lot of subsite-like capability. In fact, my original hope was that Open Force would extend or improve acs-subsite rather than write a new package to provide this piece of .LRN functionality.
As to how to solve the problem ... I don't have a solution at the moment. One possibility would be to have site_node_closest_ancestor_package take a list of package keys rather than a string - "give me the closest ancestor package in this set of keys". This might actually be useful in other circumstances, and due to the Tcl string->list conversion rules should be transparent to current code.
You'd then pass [list acs-subsite dotlrn] ...
This is gross of course because curriculum shouldn't have to know about dotlrn's existence but I can't think of a clean way offhand to do what you want (maybe someone else will)