I have looked at several kelp farm models on various forums and most are built in Bedrock. A key benefit seems to be to have kelp growing on a block of sand above an open sticky piston (with sand stuck on it). The benefit seems to be that when the piston changes (with a clock) position, it updates the block above and the kelp has a greater rate of growth.
This model doesn't seem to have the same effect in the Java edition.
Am I right in understanding that the growth mechanics based on the block update in Java is different than Bedrock?
In Java Edition, because random block ticks are granted randomly, there is no way to predict when a block can receive its next tick. The median time between ticks is 47.30 seconds (946.03 game ticks). That is, there is a 50% chance for the interval to be equal or shorter than 47.30 seconds and a 50% chance for it to be equal or longer than 47.30. However, sometimes it is much longer or shorter: for example, there is a 1.5% chance for the interval to be less than one second and a 1% chance for the interval to be over five minutes. On average, blocks are updated every 68.27 seconds (1365.33 game ticks). For the math behind these numbers, see the Wikipedia entries for the geometric distribution.
I don't know the details in bedrock (nor bedrock redstone) but i believe that if you have a bamboo-/sugarcane-/kelp-farm, the farm works best if every observer triggers just 1 piston. Here is an example of a lostfree sugarcane farm with 1 doublerow in 1.16.5:
This works bc of a piston update bug, i forgot it's name. Also the noteblock has a unique purpose in this.
For some reason it get's soft-powered, which is enough for a single piston to fire, even build in a row.
And like i said, i don't know if this is more efficient then an easy sugarcane farm. I just believe it.
And jes, it would be more efficient, if it was mirrored. I've just build 1 row to demonstrate my farm build.