I've notices that progress bars on some applications load slightly quicker at the start than at the end.
Progress bars may appear to move more quickly at the beginning because a move from 1% to 2% represents double the amount of work completed, whereas, a move from 70% to 71% only represents a 1.4% change in the amount of work completed.
There may also be issues with granularity. For instance, if the progress bar is updated on a per-file basis and small files are moved early, the progress bar will be updated more frequently toward the beginning.
... it also seems like a good strategy for keeping the end user less frustrated because it'll appear to be loading fast, but doesn't go quite as fast at the end.
Bad idea. You're proposing to make the progress bars in your application intentionally lie. As soon as users realize this is what you've done, you'll have lost credibility.
Is this a good strategy for keeping users happier during long operations?
No. If users time the beginning of the operation, say the first 10%, and estimate total task completion time to be 10 min, but your application ends up taking 15 min, why would you expect them to be happier?
If you're going to misrepresent data to the user, you should do like Scotty on Star Trek. Show slow progress at the beginning, and gradually speed up toward the end. That way, if they calculate task completion as 20 min, but it only takes 15 min, they'll feel like your app saved them 5 min.