Ok, either docs or implementation are wrong 
In order to set a facet on a uid predicate, you have to nest it inside it and it is returned there as well when querying.
This works as expected:
{
"uid": "0x1",
"seen": {
"uid": "0x2",
"seen|tag": "example"
}
}