Yes, it's not possible for an object to be a brush and a canvas at the same time.
You can bake the Dynamic Paint as an Image Sequence. But I am not sure if this helps in this case and I don't know if you can use the baked cache data of the waves.
A working solution is to fake the effect with a duplicated setup:
It's basically what you have already:
- a cube that works as a brush to create the waves
- a pool/liquid (cube) that is the canvas to get the waves
plus additionally,
- another cube that acts as canvas to get the wet effect. It's overlayed to the brush cube and slightly scaled-up so the brush cube is inside of it and cannot paint on it. The canvas cube is parented to the brush via Parent Type = 3 Vertices to follow the soft body physics. This can also be used to create a swim effect (not used here).
- a flat cuboid that is right under the surface of the pool that is a brush and paints on the canvas cube to make it wet. For more realism, you can use a Mesh Deform modifier and bind it to the pool mesh so it gets also wave deformations. The Dynamic Paint modifier must be the last one on the stack (bottom).
The canvas objects need some subdivisions to have vertices that can be colorized.
Use the Vertex Color node in the Shader Editor to make the vertex color visible in the material preview and final render.