Is there any way to find good moves that I made, rather than just non-mistakes?
Actually, in most cases, it's doing this already. The reason your moves aren't showing up is probably that they're not actually good moves!
the evaluation shows I made a suboptimal move even though against this particular opponent it resulted in me winning a piece
Sorry, computer engines are not designed to think like a human. It's a machine, it's written to play strong chess. There is no intelligence in there to think like that.
The "good moves" you mentioned were actually bad moves at Stockfish's level.
it doesn't seem to find any good moves that I've made
You are expecting too much is the real issue here, so don't be so hard on yourself. First, and I do not say this to be mean, but your level of play is going to contain mostly bad moves, but they look that much worse because you are being evaluated by a silicon beast. Keep in mind that Stockfish is FAR ...