This is perhaps more prominent now that we have Watchlist-Labels , but the button labeled "Mark All Changes Seen" on watchlist does in fact do so, whether or not we have seen all changes (because we now have filtered views that are a bit more pertinent to us available).
"Mark all displayed pages as seen" might be a better implementation here, or perhaps a second button would be a good idea.
See also
T98941: Watchlist "Mark all visited" synchronization