Well I don’t know if you have found any solution, because I have similar problem.
When people are using emulators to play and record a video, some colliders are working fine, like objects falling throw walls or the floor, but in the real devices is fine.
I learned that using Physics2D.Raycast is sometimes imprecise.
Objects positions may vary a little bit and Raycast wont work anymore.
Someone told me that objects position may vary a little bit due to different screenresolution and, more important, aspect-ratio.
Cant tell if this is true, but now I test by time the positions of the objects and correct them if needed.
In the case described above I switched to Physics2D.OverlapBoxAll:
BoxCollider2D boxCollider = GetComponent<BoxCollider2D>(); // Player's Collider.
// Retrieve all colliders we have intersected after velocity has been applied.
Collider2D[] hits = Physics2D.OverlapBoxAll(transform.position, boxCollider.size, 0);
foreach (Collider2D hit in hits)
{
// Ignore our own collider:
if (hit == boxCollider) continue;
ColliderDistance2D colliderDistance = hit.Distance(boxCollider);
if (colliderDistance.isOverlapped)
{
if (hit.tag == "loot") f_dotjewech(hit);
if (hit.tag == "enemy") f_gameOver();
}
}