Неправильная логика. listOf(ArticleTag.Blue) всегда не равен listOf(BackgroundTag.Yellow,BackgroundTag.Blue).
Не уверен, что правильно понял требования, но похоже, что нужно проверять, что все теги из p.tagList содержатся в currentTags:
backgrounds.filter { p -> currentTags.containsAll(p.tagList) }