What could cause the hashrate to differ between my actual device and the rate the pool is reporting? I've seen a difference of up to 1 TH/s between what's on my miners display and the hashrate showing in https://web.public-pool.io/#/ . Also happens on coinminerz and ckpool. Several times coinminerz showed several TH/s higher than what my miner is even capable of.
The mining pool will never match your device because the hashrate of your miner is calculated differently than the hashrate of the mining pool. The number shown on your miner is the average hashrate during its running period (which could be days or even weeks), but the number shown in the mining pool is the avg hashrate of the past 24 hours. If a device has not been running for a full 24 hours its local hashrate may even be higher than that of the entire mining pool. The most accurate reading will always be on the device itself.
Network latency will cause some of the hash to be lost between the miner and the pool; not a lot, but it's definitely a factor worth considering. Here's an article on this topic that I found helpful: https://support.viabtc.com/hc/en-us/articles/7574354263183-Why-is-the-Hashrate-Shown-in-the-Mining-Pool-Lower-than-that-of-the-Mining-Machine