Update UUPS proxy contract

I have such proxy:

import { upgrades } from "hardhat";

proxy = await upgrades.deployProxy(
    MyContract,
    [
        address,
        flags,
    ],
    {
        initializer: "initialize",
        kind : "uups",
    }
)

And such contract:

contract MyContract is UUPSUpgradeable, AccessControlUpgradeable {
    function initialize(
        address streamOwner,
        uint256 _flags,
    ) external initializer {
        __AdminControlled_init(_flags);
    }

    function __AdminControlled_init(uint256 _flags) internal {
        __UUPSUpgradeable_init();
        __AccessControl_init();
        paused = _flags;
    }

    function _authorizeUpgrade(address)
        internal
        override
        onlyRole(DEFAULT_ADMIN_ROLE)
    {}
}

I am exploring the possibility of updating the proxy contract itself. From my research, it seems that this is not feasible, and the only alternative is to deploy a new proxy contract and migrate the state to it. Can anyone confirm if this understanding is correct or provide any alternative solutions or insights? Your assistance would be greatly appreciated. Thank you!

That is correct. You can upgrade your implementation contract MyContract using the proxy, but you cannot upgrade the proxy contract code itself (which is ERC1967Proxy.sol in the case of UUPS).