Question about debouncing - delay of state change
There's absolutely nothing wrong with doing "leading edge" debouncing as you describe it &mdash; in fact, it's the method that I prefer in my own projects.

As you say, as soon as you see the first edge, you know that the user has initiated an action, so there's no reason to delay acting on it. The system will "feel" more responsive to the user.

The only reason to use "trailing edge" debouncing (the kind you've been finding) would be if there's some reason (EMI, ESD, etc.) that an input might glitch that isn't actually caused by user action.