Looking at the the bminer1 log, you had 4880 accepted shares, 16000 difficulty, and 27360 total seconds (give or take). That gives 2853 h/s. However, this is the total average over 7.5 hours. Pools show you averages over smaller windows, e.g. 10 minutes, and that will vary a lot more, especially if you have a high share difficulty.
That's exactly the frustration I have when I try to look and compare the hash rate. None of the number matches. Bminer tells me it is 3K. Your math shows it is 2.85k, and the flypool shows it is averaged as 2.7k only. I bet if I write a python script to count the "+" sign in dstm log, I will get a different number that does not match as well. Maybe all pools/miners report fraudulent numbers

.
That's probably the reason why many people choose to look at payout. At least there is no fake number involved there (In fact, I would love extra payouts for the fake sake

). Anyway, bminer still gets a little bit more payout, but dstm is trying to catch up.
Yes, this is precisely why I was looking at payout; it may not be a perfect metric, but average hashrates reported by miner or pool don't seem terribly trustworthy, either. And if luck varies on a per share basis (ie - it takes 5 seconds to solve one share, then 20 seconds to solve another, then 10 seconds for a third, etc.) then counting shares during any given period of time doesn't seem accurate, either as now you are measuring both share luck and hashrate. Frankly, it seems like there is no good metric for evaluating miners...
That said, thanks for taking the time to do this test anyway!