Is this acheivable ? What are the pitfalls?
Yes!... Non!. (except plants they can eat ofcours).
All tho, if you do it correct.. Grow in the plants first, before adding any fish.. Compost is a good option, personaly i would go for a pond soil compost with clay added, topped with gravel or something.
Than take plants that grow and spread runners.. Grow it sufficiently long and massive enough to make it carpet the complete substrate with a blanket of roots under the gravel.. For example a Potamogeton sp. would be perfect for that, it grows like mad on mud.. It runs like crazy and it pops up everywhere, this plant will create a massive fine root blanket. Just let it run around and cut away new shoots that surface the substrate where you don't like them.
Any plant that propagates with runners will do, for example Crypts do too.. How fast the plant grow is how long you have to wait before it reaches the root mass you need to hold it all together. You can do different plant sp. as long as the majority runs..
A fully matured well spread rootmass is inpenetrable for goldfish, they might dig and shift the gravel top layer but the root mat prevents them from diggin deeper. Just do not add the fish prematurely, than you're busted..
It's often said it's best to feed Fancy goldfish sinking pellets, because of there anatomical build floating food is problematic. Well, don't you ever underestimate goldfish..
They are very fast learners, and rather very inteligent fish, if you give them things to learn..
Dump that spoil theory of sinking pelets and let them learn to addapt to their anatomical build, they definitively find a way to get to floating food. They do a lot for food, even jump hoops if you want them to.. Takes away the attention to mainly forage from the substrate.. They still will do but less.