Your mushroom’s hitbox could be problematic. Try just making the hitbox for the cap and see if that works. If it doesn’t, you may need to adjust the max slope setting behavior of your platformer character.
I see you added a jump-through platform behaviour, which alters the way collision with the cap is detected. If you didn’t add that, the collision with the cap wouldn’t work because it is still concave.
But adding a jump-through platform behaviour is a cunning idea.