Willing to pay for a simple "single-held-button-time-counter"

What does your code currently do?

The state change detection example shows how to determine when the switch has become pressed, or has become released, so timing how long the switch is pressed is quite straightforward.

Converting the value from millis(), up time in milliseconds, to hours, minutes, and seconds is 3rd grade math.

Should the ON time increment while the switch is pressed, or only when the switch becomes released?

Converting the value from millis() - lastRelease, idle time in milliseconds, to hours, minutes, and seconds is 3rd grade math.