1 - One block thick floor, air below, 1 block of air above, turtle hovering above that air. turtle.placeDown() with a filled bucket selected will place the source block exactly *below* the floor. Another turtle.placeDown() will not pick up the source block.

2 - 2+ blocks thick floor, 1 block of air above, turtle hovering above that air. turtle.placeDown() will return false.

Put at least 2 blocks of air between turtle and the floor will work fine, i.e., put the source block exactly below the turtle.

Also,

3 - turtle.placeDown() with an empty bucket selected will pick up a source block that is directly below the turtle, which is expected. However, if there is air below the turtle, it can also pick up a source block one below that.