Putain de merde, j'ai en fait compris cela moi-même. Il suffisait de supprimer la jointure dans la définition de la méthode :
def self.from_users_followed_by(user)
followed_user_ids = user.followed_user_ids
where("user_id IN (?) OR user_id = ?", followed_user_ids, user)
end
user.followed_user_ids.join(', ')
produit ceci :"1, 2, 3"
tandis que
user.followed_user_ids
produit ceci :1, 2, 3
c'est ce que je voulais.