I don't see any super call here, so why not simply have def dispatch(self, request, domain, *args, **kwargs)?

The default implementation of dispatch "sets request, args and kwargs as instance variables, so any method on the view can know the full details of the request that was made to invoke the view."  You should either do that here or not accept them as arguments, lest someone might think that you do, or even use them in this function.