Background to the question
I wanted to get the center of a UI Panel and place an object at that position.
When I set the Canvas Render Mode to Screen Space - Camera,

the following code worked fine.
private void CalculateTargetPosition()
{
Vector2 localCenter = gridAreaRectTransform.rect.center;
Vector3 worldPos = gridAreaRectTransform.TransformPoint(localCenter);
Camera targetCamera = Camera.main;
Vector3 screenPos = targetCamera.WorldToScreenPoint(worldPos);
Vector3 finalWorldPos = targetCamera.ScreenToWorldPoint(new Vector3(screenPos.x, screenPos.y, targetCamera.nearClipPlane + 10f));
targetWorldPosition = finalWorldPos;
}
However, when using Screen Space - Camera, URP’s Bloom effect applies to the UI, which is not what I want.

I am now considering two possible solutions:
A. Keep the Canvas in Screen Space - Overlay and find a script that works correctly in this mode.
B. Create a separate UI camera that doesn’t apply post-processing, and keep using Screen Space - Camera.
Since solution for A has not yet been found, so a solution for B is under consideration.
Question
Is it common to have two separate cameras, one for the UI and one for 3D objects, to avoid post-processing effects on UI?
Is this why Camera.main is often used in scripts?
Any guidance or advice would be greatly appreciated!