The only device I have which doesn’t work with my code above is a touch device. So, I can’t test that code myself. But, a person with a desktop Mac for whom my code doesn’t work told me that the above link works for him.
So I experimented with removing the 1x1 render target optimization and it worked for my tablet. Now I’m wondering what about the 1x1 rendering target breaks it. I assumed it was something to do with pixelRatio but my phone has a pixelRatio > 1 and it has always worked fine.