That’s not related to body-type. You should never drive via the Transform. The main thing to understand here is that the Rigidbody2D role is to write to the Transform after the physics simulation, not the other way around. It acts as a proxy to the Transform because you want physics behaviour.
Does “it work” if you write to the Transform and force the Rigidbody2D to read from the Transform? Yes! It works like that because otherwise it’d be reported as a bug and so we’re forced to “support” it. Unfortunately, this hides the fact that you shouldn’t be doing it because it’s not physical movement through space, it’s just instant teleportation to the new position and isn’t as performant.
Doing it on Kinematic bodies isn’t so bad as doing it on Dynamic bodies because for them, they also have a collision response and instantly teleporting into a new position means you can cause overlaps which the solver has to solve.
In short, if it moves it should be the Rigidbody2D moving and you should get it to move by using its API. Always, no exceptions. If you do this, you won’t hit any unexpected things by modifying the Transform. Things such as interpolation for smooth movement not working.