If you go deep into the minified Developer Console source the answers are hiding there.
As best I can tell, the "total" column is populated in the
processTestResults function that is defined in /jslibrary/1539646802000/sfdc/ApexIDEPanels_Ext4.js. This is for loading the results into the testResultTree. The node we are interested in is the root node, which in my formatted source is
Most of the child nodes get their Total from the
extstatus returned by /_ui/common/apex/test/ApexTestQueueServlet?action=STATUS
Every time there is an update from the Streaming API the total for the root node is recalculated. However, it only appears to recalculate the total for the changing nodes.
I've found that if I close and then reopen the Developer Console after the tests have run it will update to the correct total, which should be the total number of test methods run.