Character2d pushing off of a rigidbody

Godot Version

4.3

Question

So new to Godot, building a little platformer, my character is a character2d object, and can remotely push or pull against a rigidbody(sort of telekinesis pull and push).

I got this working quite well, except one case.
If the rigid body I am pushing away, is stuck against a wall, or the floor when pushing it from above, I would want to have my character pushed back in opposite direction, so basically pushing yourself away from the object.
I was thinking perhaps using a dampenspringjoint, and using it to push the character and object away from each other, like a piston. Having a hard time getting the spring to push on the character2d, so was thinking spawning An invisible rigidbody, and then copying the velocity applied to this one, and apply it to my character, and keeping the rigidbodys potion at my characters position
Am I overthinking this? Or should I just go ahead and build my player character around a rigidbody?
Or would the best solution just coding the rigidbodies to compare received forces and impulses, and actual movement, and give the difference back to the pushing actor?
Would love to hear the perspective of more experienced godotneers :slight_smile:

Thanks in advance