I have a similar issue, I can't figure out what would need so much caching for such basic use of the watch. I've now unpaired twice, once with a restore from backup, and once setting it up as a new watch. When I start, and after removing every single non-built in app, I have nearly 10 GB gone, 5 or so for the watchOS and another 4-5 for other. Meaning, an empty watch has 30% or so gone. That's fine if it was consistent.
I only use the watch for listening to music while running and for emergency connectivity. If I fill with music to the brim an leave a few GB free, after a week or so, the watch starts with the storage is full message and eats away at the empty space. Sometimes, forcing the watch to restart will clear the message and restore up to a GB or so of free space. That could last from as little as an hour to as much as a few weeks.
The absolute worst part is if it happens during a run, the watch loses the ability to save the workout properly and all your stats and alerts are way off.
It would be really nice to have some control over the other space on the watch and to be able to set a limit to caching. It seems like the whole OS is cached, which is hard to understand unless the watch has no ram and the storage is used as RAM. A normal cache should be using a circular buffer and not just be ever expanding.
Seems like there is no solution until they release a watch with more storage, I was really hoping for a 64 or 128GB when the Ultra came out.