Adjusting Camera.OrthographicSize is messing up game Physics?

Hi guys,
I am trying to build a 2 player turn based game using Unity 2D. It is very necessary for me that the game run exactly the same on all screen resolutions as it is completely Physics Based and is a limited field game somewhat similar to Ice hockey.

Here is a simple gameplay video of my game built for PC resolution 1280x720

Now, I want the game to look exactly the same on all resolutions, or atleast, be played exactly the same.

Currently with no alterations at all, here is what happens

Now, what I actually want to happen in the 3:4 resolution is something like this
33932-untitled2.png

Now, to achieve that, I have found a way.
I am adjusting my Camera’s orthographic size based on the current screen height.

This method does have it’s flaws and I am working a way to fix those flaws out.
Here is the script I am using to achieve it:

void Start () 
	{
		float screenHeight = Screen.height;

		float screenWidth = Screen.width;
		
		float myWidth = renderer.bounds.size.x;
		
		Vector3 myScale = transform.localScale;
		
		float numerator;
		float denominator;
		float reqScale;
		
		//For Width Calculation
		numerator = myScale.x * reqWidth;
		denominator = myWidth/screenWidth;
		reqScale = numerator / denominator;
		myScale.x = reqScale;
		myScale.y = reqScale;

		transform.localScale = myScale;	
	}

Now, As I said before, this is scaling my game along with X axis (Width) in a way that is working out great for me, but the problem here now is that my ingame physics is getting messed up.

At the start of the game, I give the ball a velocity of magnitude 5, in the Up direction

void ReleaseBall(Vector3 ballPos, Vector2 ballVelocity)
{
//Here ballVelocity is Vector2(0,5f)
   
		transform.position = ballPos;
		rigidbody2D.velocity = ballVelocity;
}

Depending on the new Camera, the ball may take a varying time to reach one of the gravity fields.

Likewise, once inside the gravity field I perform the following calculation:

if(!turnOffForce)
			{
				rad = (other.transform.position - this.transform.position);
				int myDot = (int)Vector2.Dot(rad, other.rigidbody2D.velocity);
				print ("Value of Rad: " + rad);
				print ("Value of myDot: " + myDot);
				if(myDot == 0 && !trigger)
				{
					trigger = true;
					vel = other.rigidbody2D.velocity;//.magnitude;
					dist = Vector2.Distance(other.transform.position, this.transform.position);							
					centriMagnitude = ((m1 * Mathf.Pow(vel.magnitude, 2)) / dist);
					//doOnce = false;
				}
				if(trigger == true)
				{
					centripetal = rad/rad.magnitude;	
					other.rigidbody2D.AddForce(centripetal * -centriMagnitude);
				}	
			}

In the above script, the value for myDot never comes to 0 anymore. Depending on the resolutions, the minimum values are -69. -211, etc. but never 0.

On hardcoding if(myDot == -211)
I get messed up rotation physics. The ball goes crazy and oscillates around the center at insane speeds, and ultimately shoots itself out of the field.

I am sorry for the long post.
My question in short: How does changing the orthographic size of my camera affect the inbuilt physics system? And how can I normalize the physics for each and every resolution, assuming my camera’s size will change depending on the res

Sidenote: I feel this method of aspect ratio handling may be incorrect, so if there is a better way to achieve the same or similar result, please do let me know.

I know this is a little dated but did you ever find an answer for this?