I guess @vklidu has already explained everything, but since my linked answer to a different question was maybe misunderstable I tried a visualization of the relations between image size, focal length, sensor size and the FOV to answer one part of your question: Why does reducing Resolution X increase my camera's FOV and increasing it reduce FOV? (The following might not be correct for real cameras, but for Blender camera objects.)
First of all, the specific X and Y resolutions in pixels do not matter for the FOV (or else scaling to 50% would change the FOV, too) - it's like comparing an older digicam with 18 MP to a newer one with 24 MP, one might have a better resolution but if they both have a 36 mm sensor with a 50 mm lens, the FOV should (ideally) be the same. The only thing that matters is the ratio between them, so for the FOV it's the same if your image is 1920 × 1080 pixels, 960 × 540 pixels or just a tiny 16 × 9 pixels.
(The following calculations are assuming that the Sensor Fit is set to "Auto" - this means, Blender is using the larger image dimension as the base for the equations.)
For a given distance d from the camera's position the FOV's larger dimension LD at a sensor size s and focal length f is computed as follows:
LD = d × s / f
In a horizontal image the larger dimension is the width w:
w = d × s / f
The smaller dimension SD of the FOV at the distance d is LD multiplied by the image's aspect ratio of smaller resolution SR to larger resolution LR:
SD = LD × SR / LR
Typically in a horizontal image of the FOV is the height h and the aspect ratio of the image is height divided by width y / x which gives a ratio < 1.
h = w × y / x
The different variables in a usual horizontal image are shown here:
Now for the reason why decreasing Resolution X increases the camera's FOV. Let's say we use the camera's default settings with a focal length f = 50 mm, a sensor size s = 36 mm. In the image above the three poles are a distance d = 10 m away from the camera, the left and right pole standing 7.2 m apart. We use a default image resolution of 1920 × 1080 pixels.
According to the above formula, the FOV width w at a distance d of 10 m is:
w = 10 m × 36 mm / 50 mm = 7.2 m
For the FOV height h visible in a distance d of 10 m we get:
h = 7.2 m × 1080 / 1920 = 7.2 m × 0.5625 = 4.05 m
As you can see in the following picture, the outer poles standing 7.2 m apart are at the edge of the FOV:
If you now change the image resolution from 1920 × 1080 to 1080 × 1080, absolutely nothing happens to the FOV width w at a distance d = 10 m, because as long as
x is not bigger than y, the formulas calculate as before. So although the value w = 7.2 m stays the same, this does have an effect on the FOV height h, because a square image resolution changes the y/x ratio:
h = 7.2 m × 1080 / 1080 = 7.2 m × 1 = 7.2 m
And this is what you are experiencing when decreasing the Resolution X of the image down until the values are the same, the FOV width stays the same and the height increases. This stays true as long as x >= y, so when you set a square image size it looks like this:
Now comes the seemingly strange thing... if you now continue to decrease the Resolution X or start increasing Resolution Y, then Sensor Fit > "Auto" is responsible for automatically flipping the formulas because in a vertical image the width is smaller than the height. I guess the "Auto" option is working as if you had a real camera and held it rotated by 90°. Since the sensor inside the camera is rotated as well now the vertical resolution is the one that is determined by focal length and sensor size, which results in now having these "re-arranged" formulas calculating the FOV:
h = d × s / f
w = h × x / y
By continuously decreasing the Resolution X (or increasing Resolution Y after reaching x = y) this results in increasing height at a constant width until height = width and then height keeps its size while the width now decreases.
I found a website with a FOV calculator (for real cameras, not Blender camera objects), if you enter the above values there you'll find the results are the same. A focal length of 50 mm with a sensor size of 36 mm × 24 mm cropped to a 16:9 image ratio results in a FOV width of 7.2 m and a height of 4.05 m in a distance of 10 m (actually they are using units, because for the result it doesn't matter if you enter all values in meters, feet or even Blender units). This works for horizontal images. The difference there is, there is no "Auto Fit" like in Blender, i.e. if you set a square cropping aspect ratio of 1:1, you don't get 7.2 × 7.2 m for the FOV but 4.8 × 4.8 m. That's due to the fact that in real cameras cropping an image to square means you have to cut off the sides of the image, because a real physical sensor will not increase it's height, while the Blender "Auto Fit" option assumes that when the width is 36 mm and the ratio is 1:1, then the height is 36 mm as well. Here's the link: FoV Calculator