I had a similar stint helping teams with system performance issues. I think I found it so enjoyable for two reasons:
1) Solving the problems involved the focused exercising of all of my software dev knowledge – often around database access, sometimes around garbage collection and memory allocation of the specific platform.
2) The impact was highly visible and appreciated (by the team, management, and system users), and the result was usually objectively measurable, e.g., the global search now completes in 1/50th of the previous time.
That said, when I reflect on the 10 or so projects I helped in this time, they were all problems the senior dev(s) on the team could have figured out. So, it wasn't really that I was some rockstar who had special knowledge. It was more that I was given time to focus on the issues, while the regular devs on the team had bugs to fix, features to work on, etc.
Like you, I now work for myself, but if I were offered a job doing small-medium performance optimization projects (without travel), that would be tempting.