So you are somewhat correct. Defining _process, even with nothing in it (just pass) does consume cycles. If you have a blank script attached, with nothing else, I am getting around 9,000 fps. With a script with:
func _process(_delta):
pass
Then it is 8,000 fps. But this sounds like more than it is (because of the way fps is measured) so the difference is not much. And with vsync at 60 (or even 144) this is far above any sort of useful metric.
If you additionally do this:
func _ready():
set_process(false)
Then performance is even greater, around 10,000 fps. This would seem like a better way to do it, rather than attempt to turn Godot into something it is not.