Whenever water source blocks have solid blocks directly underneath them, they form infinite springs (renewing the source block when grabbed with an empty bucket) as intended. If flowing water or air is under the source block however, it DELETES the block without refilling it, without updating neighboring blocks.
When i remove one green block and dig down an extra block (leaving air under the water source on the surface) then i can grab from the surface of any green block and the water refills properly. But, trying to get the water in an empty bucket from the space where it flows downwards makes the nearby sources flow to it. You in fact remove that water source and it does NOT replace itself.
Using an empty bucket on ONLY the 2nd layer of water source blocks reveals that the bottom layer is no longer source blocks, and also doesn't fully drain either. It is a mixture of source and non-source blocks, even though the entire floor was replaced with solid blocks and then broken out once the 2nd layer of water was in place.
This leads to weirdness in survival. I don't have a screenshot to show of it, but in my own world, I spent around an hour "fixing" my ocean beside my base. I walked by and snagged a bucket of water from the surface and it didn't refill, leaving a lone air block in the surface of the natural ocean. I grabbed from elsewhere near by to try to fill it back in and was unsuccessful. The more I tried to fill it in, the more holes I was eating out of the surface of the ocean. My solution ended up being to build a roof 1 block over the entire area and fill it in, manually, one block at a time. I didn't get a screenshot of it, but the core symptom was easy to repeat in a test world as above.