I just solved the question in the following way, for now it seems without any contraindication:
Firstly, my set of KinematicBody2D parts is composed of this simple hiearchy:
LevelBoss
--------Part01
--------Part02
etc etc...
The physicsprocess() function of LevelBoss I checked is called always for first by Godot, but to move the LevelBoss i must know if some of its parts (Part01, Part02, etc...) collides with obstacles.
So, in the LevelBoss physicsprocess() I simply call for every part a CheckCollision() method, passing it the delta time, this is my simple CheckCollision():
func CheckCollision(delta):
if (test_move(global_transform, velocity * delta)):
get_parent().StopMove()
here the StopMove() simply sets a flag in the parent (the LevelBoss) to inform he can't move. But If no parts calls StopMove(), LevelBoss finally moves by simply calling in its physicsprocess() :
move_and_collide(velocity * delta)
This was my natural way to handle an object composed of different KinematicBody2D parts, if you have suggestions to improve the code they are welcomed!