Потому что transform создаёт новый stacking context:
https://bugs.chromium.org/p/chromium/issues/detail...
Можно попробовать запихнуть
всё вместе с фоном в какой-то контейнер, и на этот контейнер вешать трансформ, а фон вертеть в обратную сторону, чтобы он стоял на месте. Но это безумная догадка, и я её не проверял.
Ещё можно по ховеру добавлять вашему .bill-div mix-blend-mode, всё равно пока его корёжит, не так заметно, что оверлей работает не совсем правильно. А когда курсор с него уходит — убирать mix-blend-mode, оставляя только на вложенных элементах, чтобы всё в статике выглядело идеально.