I understand you don't want to support serialization in this project which makes sense. However, when experimenting with the example recipe I've noticed an issue when serializing the document after Preact mutates it. I end up with elements that have both innerHTML and childNodes[] defined. The innerHTML value seems to have not been cleaned up. I'm not sure where or why this is happening exactly. Any thoughts?
I've added innerHTML and void elements to my implementation here: https://gist.github.com/Stanback/3bb0b19b299668ce0e08922a8ab6876e