Based on the card text, my understanding is that Altruism should always trigger a card draw when you play a Holy card on an ally and then the die is rolled to determine if Altruism is discarded (when the roll is exactly 4). I haven't used Altruism yet in multiplayer, but in the campaign it is only drawing a card when the die roll is exactly 4. Altruism is triggering correctly (when I play a holy card on an ally) and discarding itself correctly (when the roll is 4), it just isn't drawing correctly.
Of course, I've observed this behavior on at least two different maps and then it just did it correctly in my game (drew a card and kept Altruism on a roll of 6).
There's a roll of 4, if you roll 4 or above , you draw a card. Any less and it will not trigger. However, if you roll exactly 4, it still draw you a card but then discard altruism.