Sprites in canvas are smaller than as GameObjects - Need help

Hi, first time here. I am fairly new to Unity, and I have stumbled into this problem.

To put it simple: Any sprite I use as image in a canvas is smaller than the same sprite as a GameObject.

The game has pixel art, so everything is based around it.
The sprite is 16x16 like all the other sprites in the project are, so its “Pixels per Unit” is set to 16.
The canvas is set as Screen Space - Camera, because it allows me to see the final size of the UI elements compared to the rest of the game. If there is a better way, please tell me how, because again and very new with UI in general.
The Canvas Scaler is set to Constant Pixel Size as I don’t know much about the different options, and it’s the one that decreases the size of the sprite in the canvas the least. I want to keep the size of the sprites in the UI in harmony with the sprites of the game objects, both increasing and decreasing the same amount depending on the resolution. (I have no idea about how to do this).

The problem is that even if I set the height and width of the sprite in the canvas to 16 and 16, it is still a bit smaller than it should. if I hit the “Set Native Size” it makes things worse, as it sets the width and height to 12 both.

I have checked every reference to pixels per Unit I have found and set them to 16, to no avail.

Any idea on how to fix this? Here you can see a comparison between the same sprite, used in canvas and as game object, so you can see what I mean (the grid cells are the size each pixel should be as well).

[Comparison using Constant Pixel size]

The problem persists in any other mode as well.