I know nothing about the internals of the XoTcl implementation, so I'm just making a guess ... I imagine the speedup is due to the fact that Tcl arrays aren't particularly efficient. Handy but not all that fast as they're implemented as a list of name-value pairs.
You might also want to test the speed of "ad_conn -set" in the two implementations, and then the speed of rp_filter which uses "ad_conn -set" heavily ...
Of the unused ad_conn values that are set up that you mention ... AFAIK they can be removed.