why does the pool register my hash rate at abotu 20% less than what it is?
Because the pool reports in sampling intervals, based on when you submit work, and how long it's been since you submitted.
Your hash rate at the pool will look most like your hash rate on your console immediately after submitting work. The longer the time since you submitted, the longer the time your worker shows "dead air", and so from the pool side, shows no activity.