For those still under warranty/AppleCare+, I took in my iPhone 7 that was running at 1.6GHz when battery is less than ~75% battery and running at 1.3GHz when less than 50% battery. Battery wear was at 85% capacity (checked using Coconut Battery).
I showed the Genius the CPU DasherX view and the Geekbench 4 scores that demonstrated the discrepancy. The technician literally dismissed all of that evidence. He said that Apple doesn't troubleshoot with third-party apps. The easy way out, IMO.
Alas, he processed an exchange as a "courtesy" because he said "slowness" is not covered under warranty. He didn't really seem to understand the technical details I was trying to explain.
Replacement iPhone 7 had 11.0.3 installed. A10 Fusion showing 2.3GHz as expected. Geekbench 4 scores back to normal scores. Scores normal, even with 60% battery charge.
YMMV.
How old was your iPhone?