It's a bit similar, but I would save individual keys instead of lists. For example: set('mute/[pubkey]', true). That way you can safely make concurrent / offline / high-latency edits from different devices without overwriting each others' lists. And you don't have to push the 10000 entries on the list every time.
Discussion
You just need relay level support to retrieve all or subset of items under the same path
It's also more general-purpose for the "decentralize everything" use case vs. array of npubs / note ids.