Both times I have had cyanobacteria that is exactly how and where it started. The first time I just kept removing it manually, throwing away the affected Pistia, and eventually, after I added some large almond leaves it never came back. I think they do have some kind of antibacterial properties.I'll be honest the only obvious cyanobacteria I ever see a little smear on the backs of the <"older leaves of Pistia stratiotes">. I
The second time however was in a tank where I was regularly using almond leaves and other leaves, and letting these build up, so I probably did have a lot of decaying matter in the tank. It wasn't very much Cyanobacteria, a lot less than the OP has, but it was annoying especially on the Cabomba and Pistia . Every week I would remove it but it would be back after a few days. I read that low nitrates, or a high phosphate/nitrate ratio can be involved. This tank always had 0 nitrates unless I added any, phosphates were low, about the same as in the tap water. I started adding some nitrates which seemed to help a bit, I also tried to increase the water movement as it was rather still on the surface. But a little still kept coming, and I have to admit that although I am usually averse to using any kind of chemicals, I did resort to using Ultralife blue green stain remover. This worked quickly, with just one dose, and since then (about a year ago) the Cyanobacteria has never come back. I occasionally add nitrates for the plants.