Pond plants can grow on gravel and rocks. Soil is normally used to provide nutrients and support to plants, but it can be replicated by adding nutrients to water and having gravel and rocks that support plants. Pond plants often survive better without soil. Most pond plants can be planted directly into pond rocks and gravel.
Gravel is, believe it or not, a better option for growing plants than soil. You should choose gravel over soil because they keep the pond healthier, are efficient in distributing nutrients, and produce a better quality crop. Cover the roots with gravel if the pond has a gravel bottom. The gravel will keep the plant in place.
If the plant has a rhizome, make sure that part of the rhizome is above the gravel surface so that sunlight can reach it. As I explained, replacing soil with gravel allows the root system to absorb more oxygen, resulting in larger, healthier plants. This works because gravel is a very porous culture medium and allows hydrogen peroxide to pass through. Aquatic soil does not do this, since the soil is quite compacted, so it cannot absorb as much oxygen.
I place most of my plants going to the main pond in containers that have common garden soil covered with gravel and rocks. I plant most of my other plants that go to my biofilter and stream bed in mesh pots with gravel, without soil. Plant fringe plants along the edge of the pond by removing some of the larger rocks that are covered by shallow water and creating a hole. The turbulence created by pumping water increases available oxygen levels and encourages good bacteria in the pond.
Fish are extremely active and inquisitive, so naturally pond fish, especially koi, would take root and dig into potted aquatic plants, inevitably removing soil and eventually knocking down potted aquatic plants. This is very beneficial for the overall pond, but it doesn't always work well alongside potted plants in aquatic soil. A small amount of algae is really beneficial to the pond ecosystem, as they provide food for fish and provide oxygen. But if you have gravel in the bottom, they won't mess up the water at all, you'll have a clear view of the beautiful pond you've worked so hard to build.
Plant floating plants, such as water lilies, by placing the roots of the plants in the pond bed and covering the roots with small stones to anchor the plant. I've heard that watercress likes it and bought some last year, but it didn't like my pond or something that didn't thrive. So forget what you've learned so far in your life about the need for soil in plant growth and start using gravel to grow plants in your ponds. I know this method may seem risky if you want to believe what all the other pond plant and horticultural specialists advise, but why not try it yourself? With spiked flowers in blue, white or lavender pink, they are a decorative plant you'll want to have in your pond.
I think the aquatic soil method is perfectly acceptable for the types of ponds I have mentioned, but I disagree that this is the best way to grow plants in today's modern fish ponds or water sources. The dark brown water created by this can be very difficult to eradicate, even for ponds with a pump and filter. Any disturbance will lift dirt from the bottom and soon you won't be able to see anything in your pond. It's very normal and common for fish to hide sometimes, which can make your pond look dull and lifeless.