The usual way to move a dynamic body is with the “apply_force” message. Kinematic bodies are often easier to make characters with, but it depends on the project. You can check the physics manual for an example of how to handle kinematic collisions.
You can change the gravity acceleration in your game.project file, or at runtime with physics.set_gravity().
If you’re making a platformer, you may want to check out Platypus.
when you want the game object to behave dynamically, which means, all collisions, rotation and position handling will be performed by Box2D (physics engine), without your intervention (except calling apply_force). But I would suggest switching collision objects only in the particular case, when you need it and after the case is finished, switching it back to kinematic. Or create only dynamic collision object and change position by applying forces