Instead of storing your attributes as “objects” just store them as strings where each property of an attribute is delimited by, say, a pipe:
‘myAttrs’: [‘3|colour|3140|black’,‘18|model|1764|t1001’]
Then just do a facet on myAttrs in your code. Then in your code, you could build the facets yourself.
Another thing you could do is just store the attribute ids, and then look up the data for each attribute in some other collection/bucket/datastore/whatever (this would be slower, but if you cachedthe data it would probably be fine)