You are using the same dimension to group on both charts.
a grouping intersects the crossfilter's current filters, except for the associated dimension's filter. Thus, group methods consider only records that satisfy every filter except this dimension's filter. So, if the crossfilter of payments is filtered by type and total, then group by total only observes the filter by type.
from the crossfilter API doc
One solution is to create a runDimension2
similar to runDimension
and do your second chart using this dimension instead.