Something in your map style can't cope with non-integer layer values. You've not said what style it is, so we can't directly help with that, but maybe this example will help:
[this line](https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/19395d61743babc8a5311a624677bc78e0f2315a/style.lua#L15) in a lua style file makes sure that only sensible seinsible layer values are used for z_order and tthe lines below [here](https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/19395d61743babc8a5311a624677bc78e0f2315a/style.lua#L71) in a lua style file try and guess at layers from invalid values. See [other uses](https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/19395d61743babc8a5311a624677bc78e0f2315a/style.lua#L407) of "tonumber" in that lua style file.
One other point to mention, since you're your seeing this in openstreetmap-tiles-update-expire - are you definitely alling calling the lua transforms from that and not the C transforms?
For completeness, the offending data in OSM is [here](https://overpass-turbo.eu/s/1bgg), and it's not "a bug in OSM" as such - anything that consumes OSM data needs to be able to consume whatever is there. Scroll to the end of the list in [taginfo](https://taginfo.openstreetmap.org/keys/layer#values) and you'll see all sorts of values there.