Sometimes the performance boost is noticeable and necessary, sometimes its not. The location of data (in terms of stack vs. heap) is a little harder to determine than it is in languages like C and C++, and in the same manner performance is also hard to determine. Performance is usually something you need to dig a little deeper to get insights about rather than sheer speculation on what may or may not be more performant.
If I was you, I would run some benchmarks against whatever function you're referring to, once by passing the struct by reference (pointer) and another time by passing it by value (it gets copied). The benchmarks will run the function a sufficient amount of time to get an average on system metrics and processing time that you can rely on.
Here is a relevant guide on how to create and run benchmarks in Go (it's built in) - https://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go