You're right and my last answer was wrong — sorry. Dozers don't get a Lower mode at all; the mode list comes from the machine config, and a blade gets Grade/Smooth/Paint. Nothing misconfigured on your side.
Here's what actually decides whether it digs, straight from TerraFarm's MachineWorkArea:inputGrade():
If your machine has an input area assigned and enabled, Grade behaves exactly like Lower. Both call area:getDeformationParams() and dig down to that area's target depth — it's literally the same code path. The two modes only differ when no area is assigned.
So: get in the dozer → machine menu (Y) → input area. If an area is set there, that area's target depth is what it's digging to. Turn the input area off and Grade switches to its other behaviour.
Without an area, the target height is the terrain height under the vehicle, not under the blade (getTerrainHeightAtWorldPos at the vehicle's root node). So if the dozer sits higher than the ground in front of it — on a ramp, a pile, or heading downhill — the target is below the ground ahead and it cuts in. Keep the machine on the level you want to hold, and it grades instead of digging.
On strength: that's only the brush aggressiveness per tick, the target height is set separately. Lowering it slows the cut down but can't change where it's heading — which matches exactly what you saw.
One thing worth saying plainly: TerraFarm has no true "push" for a blade. In any input mode the material goes into the machine rather than being shoved along. If what you want is spreading a pile back out, that's the output side, not Grade.
Mining Layers isn't involved in any of this — it only sets which material comes out, never the depth.
