Thanks for bringing that to my attention! The reason this was happening was due to how the arrows were determining where exactly to get stuck.
In an older version, I let the arrows travel for a couple of extra frames before sticking them, but this would sometimes result in floating arrows.
In the version that you played, the arrows would use the collider2d information from OnTriggerEnter with the ClosestPoint method to determine exactly where it should end up to look like it had passed halfway through the enemy, then parenting the arrow to the enemy and altering the arrow’s local position. This seemed to work exceptionally well, but I did not test it on the giant slimes.
The issue with the giant slimes is that they were scaled up 2 (from their root object). I know now that this is not a great practice. It meant that the local position of any child objects (such as arrows) would be double in absolute terms. Further to that, I was using inconsistent logic, using world position to calculate the initial offset, but then setting the local position.
Anyway, I left the giant slimes as they were (since I considered them not to be the broken ones), but changed by code to just use the world position to calculate the local unscaled offset, and then set the world position directly rather than the local position.