I noticed you mentioned there were too few users displayed, compared to Google Analytics. After a very quick look at the plugin's code, I noticed it is taking the users that were active "recently" (I think there is an admin setting to configure what "recently" means). There is a keep-alive of the recent activity whenever a user is displayed the widget. This high-level logic looks good to me.
However, there might be a couple of reasons for the users to differ from GA:
1. GA has historical information. This plugin only displays users that visited the site "recently". The good thing about the plugin is that it deletes any non-recent activity
2. The keep-alive of the recent activity is done whenever the widget is displayed. This is not the right approach as if you don't display the widget in a given section of your site, then the activity won't be updated. It should be updated on every request a user performs