To clarify, yes I am using a DEM with resolution 1 m. I have reprocessed the data this morning, and using `dist = 50` along with `fill = FALSE` does ultimately result in the expected stream networks, so that's great - thanks Jean.
Since the first post, I have also been able to use `wbt_fill_depressions()` using `max_depth` values of 20, 200, 500 and 1000 with success too. Obviously this is slightly different to filling and breaching, but may still be suitable in some instances. Surprisingly, even with `max_fill` set to 500 and 1000, the neighbouring watersheds were not filled in. This was unexpected, as I thought this might have been the process by which the default `wbt_breach_depression_least_cost(..., fill = TRUE)` was filling them in. For example, in the image below is the result of `max_depth = 1000`. I would expect the red and pink circled areas to fill, especially those in red as these were among those filled in the original post. I am trying to avoid these being filled anyway, so this is not a problem, but I thought it might have helped narrow down the reason for the filling in the first instance. The orange filled area at the top of the image is a reservoir, which was filled as expected (vertical filling approx 8 m).
Additionally, when using `wbt_breach_depression_least_cost(..., fill = TRUE)` I have noticed different filling behaviour depending on the extent of the raster being breached, specifically the amount of the neighbouring watershed included in the raster. When more of the neighbouring watershed is included filling doesn't occur, but when only a small amount is included (smaller raster) filling occurs. For example, consider the two images below. Image on the left shows the same filling as the original post; several neighbouring watersheds are filled at the bottom of the image. Image on the right is the filled parts of a raster with an extent slightly smaller than the original (solid red line in right image, dashed red line in left image). Notice now that smaller parts of neighbouring watersheds are on the edge of the raster, more places get filled. FYI the grey dashed line is the jurisdictional boundary, and is also the watershed boundary; the outline of the raster on the right was determined from a buffer zone of approx 750 m around the watershed boundary.
Furthering this, when the raster only covers the exact area of the watershed, `wbt_breach_depressions_least_cost()` fills in all of the lower lying areas of the whole catchment! It looks like it forces the outlet point to the top right of the raster; see images below. Dashed lines are boundaries of the above examples, solid red line is the boundary of this raster (watershed boundary). Left image shows that a much larger area has been filled! Image on the right is the resulting DEM, coloured by elevation (compare this to original DEM above with topo basemaps and red & pink circles - very very different!).
Although we can avoid this behaviour using `fill = FALSE`, I am interested to see if other people have experienced this same behaviour. Given that `fill = TRUE` is the default inclusion in `wbt_breach_depressions_least_cost()`, I'm wondering if my examples are different to what this is intended for, or if there's something else going on that I don't know about. Hopefully someone finds these examples useful.