### Godot version

4.1

### System information

Fedora, RX 590

### Issue description

Between 4.0.2 release and 4.0.3 RC1 the hotzone of the visual shader nodes have shrunk on the side that overlaps the node itself.
![Screenshot from 2023-06-22 12-14-19](https://github.com/godotengine/godot/assets/7917475/255feaf2-6e8c-4e7b-a1d9-0b86f28b1ec2)


### Steps to reproduce

Download 4.0.2 release and 4.0.3-rc1. 

Open MRP, navigate to hotzone.tres shader.

Zoom out to this level of zoom: 
![image](https://github.com/godotengine/godot/assets/7917475/5a3ffd5f-7760-4ced-a6aa-7861c2c1206f)

Try to extract a pin from ColorOp node.

In 4.0.3 you can observe how if you're not very precise you will drag the node around.

### Minimal reproduction project

[hotzone.zip](https://github.com/godotengine/godot/files/11832820/hotzone.zip)

float current_node_start_pos = start_from;
				if (current_node_size < largest_node_size / 2) {
					if (!(i || j)) {
						start_from -= (largest_node_size - current_node_size);
					}
					current_node_start_pos = start_from + largest_node_size - current_node_size;
				}
				cal_pos.x = current_node_start_pos;
			}
			new_positions.insert(layer[j], cal_pos);
		}
		start_from += largest_node_size + gap_h;
		largest_node_size = 0.0f;
	}
	emit_signal(SNAME("begin_node_move"));
	for (const StringName &E : selected_nodes) {
		GraphNode *gn = Object::cast_to<GraphNode>(node_names[E]);
		gn->set_drag(true);
		Vector2 pos = (new_positions[E]);
		if (is_using_snap()) {
			const int snap = get_snap();
			pos = pos.snapped(Vector2(snap, snap));
		}
		gn->set_position_offset(pos);
		gn->set_drag(false);
	}
	emit_signal(SNAME("end_node_move"));
	arranging_graph = false;
}
void GraphEdit::_bind_methods() {