Collecting entropy: can I use timing of reading as a separate source from the reading itself?
The values of these timestamps  appear to be determined by two components:


when your code decides to sample the GPIO inputs; and
whether a bit is to be discarded or not.


The first component is not proven to be random (and if you assume it is, you would not need to add complexity to this RNG; just create a second RNG based on CPU execution jitter).

The second component is the same information that you have already used in the whitener.
In other words, if an attacker can make some (partial) predictions about the raw GPIO inputs, then the timestamps are predictable, too.



Please note that the Wikipedia page you linked is not a complete description of the von Neumann algorithm; if you click through to Von Neumann extractor, you see that this algorithm requires that the source is a Bernoulli sequence.
Almost all physical noise sources fail this because their output values are correlated.