A KinematicBody must be moved through code. If you want your kb to be affected by other physics objects and gravity (without handling gravity in your player script), then consider using a RigidBody.
If you want to keep your player a KinematicBody, then you'll need a way to apply the platform velocity to your own player velocity. I suggest you add a circular Area2D at the feet of your character. Then, when is_on_floor() returns true, call get_overlapping_bodies() on your area (make sure the area collision layer is the same as the moving platforms!). Then, iterate on those bodies and apply their velocity to yours.
Implementation for platforms moving on the y axis:
var _player_velocity: Vector2 = Vector2(0, 0)
func _process(delta) -> void:
[...] # adjust velocity based on input
var highest_y = -INF
for moving_platform: KinematicBody2D in $FootArea.get_overlapping_bodies(): # only check moving platforms layer
highest_y = max(highest_y, moving_platform.velocity.y) # moving platforms need to expose their velocity
_player_velocity.y += highest_y # apply vertical platform movement
_player_velocity = move_and_slide(_player_velocity)
The highest_y logic is for the case where your character is in the middle of two moving platforms.