i think i know what effect you are looking for. It has relief and texture.
Sealants are of two types. One makes things look wet. The wet look. The other just seals without adding that shininess. Sealants are what they use on grout, in non-critical areas. (For true waterproofing you need a true waterproof membrane under the tiles, like when building a shower.) Sealant can go on everything, not just on grout lines. All of your "materials" are slightly porous, so sealing them is a good thing.
Getting round or oval rocks to become flat isn't possible even for Salvador Dali. Many alternatives have been thought of. There is a tile product that can be bought that has rocks embedded in epoxy; it's expensive compared to the price of rocks, but well worth it. Locks the rocks in a clear epoxy layer that justs let you see the rocks but never touch them; the epoxy is so thick that it covers them totally and makes the finish layer.
If you cut the rocks in two along the long axis you'll have a flat surface but lose some of the effect you are hoping to create. You could cut off (or grind off) just the top so that 60% to 90% of the top is flat and the rest is curved. Then, placing them just right so their flatness lines up level from one to the other is the big challenge on tile-setting day. More info later on this tactic if need be.
Epoxy grout is what i would use, to highlight the shapes and to make the grout lines more hygienic. In some spots water may collect and only disappear after evaporating. Epoxy grout has better color too, compared to Portland cement grouts.