So the one last bug that was driving me nuts (and probably would have irritated everyone that bought it as well), is that the rotary encoder wasn't "perfect" ... it was the only piece that still had a "bug" that I couldn't fix. Essentially it would skip steps, which caused all sorts of issues. The problem was, that even writing a very simple program, it appeared that this was the case. And I had tried numerous rotary encoders.
It occurred to me at around 4:30 this morning, that maybe the whole issue wasn't the hardware, or OS, but rather the interface to the GPIO that the library I was using might be using. Or maybe a bug in there. Well upon closer inspection, this
did seem to be a likely culprit. The onoff library used a filesystem based access, which would of course be slow, especially on these little IoT devices where I/O is a bottleneck. So I replaced the use of the onoff library with the pigpio library (which caused other issues which I won't get into the details of).
Now the rotary encoder works
perfectly! Never misses a step! So very happy about this bug fix (I've revisited this one bug more times than I can count in the last few years, and worked out too many software solutions to count to make it "better"). End of the day, all I had to do was use a different library that uses memory based GPIO access, and voila! All problems solved