Error: New storage layout is incompatible

V1 contract:

pragma solidity ^0.8.4;

import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol";

contract MyToken is Initializable, ERC721Upgradeable, OwnableUpgradeable, UUPSUpgradeable {
    using CountersUpgradeable for CountersUpgradeable.Counter;

    CountersUpgradeable.Counter private _tokenIdCounter;

    /// @custom:oz-upgrades-unsafe-allow constructor
    constructor() {
        _disableInitializers();
    }

    function initialize() initializer public {
        __ERC721_init("MyToken", "MTK");
        __Ownable_init();
        __UUPSUpgradeable_init();
    }

    function safeMint(address to) public onlyOwner {
        uint256 tokenId = _tokenIdCounter.current();
        _tokenIdCounter.increment();
        _safeMint(to, tokenId);
    }

    function _authorizeUpgrade(address newImplementation)
        internal
        onlyOwner
        override
    {}
} ```

V2 Contract:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";

contract MyTokenV2 is Initializable, ERC721Upgradeable, OwnableUpgradeable, UUPSUpgradeable, ERC721BurnableUpgradeable {
using CountersUpgradeable for CountersUpgradeable.Counter;

CountersUpgradeable.Counter private _tokenIdCounter;

/// @custom:oz-upgrades-unsafe-allow constructor
constructor() {
    _disableInitializers();
}

function initialize() initializer public {
    __ERC721_init("MyTokenV2", "MTK2");
    __Ownable_init();
    __UUPSUpgradeable_init();
    __ERC721Burnable_init();
}

function safeMint(address to) public onlyOwner {
    uint256 tokenId = _tokenIdCounter.current();
    _tokenIdCounter.increment();
    _safeMint(to, tokenId);
}

function _authorizeUpgrade(address newImplementation)
    internal
    onlyOwner
    override
{}

}```

/Users/naveensharma/OZSmartContractWorkshop/MY-POC/upgradeable-smart-contract/node_modules/@openzeppelin/upgrades-core/src/storage/index.ts:35
throw new StorageUpgradeErrors(report);
^
Error: New storage layout is incompatible

@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211: Inserted __gap

New variables should be placed after all existing inherited variables
at assertStorageUpgradeSafe (/Users/naveensharma/OZSmartContractWorkshop/MY-POC/upgradeable-smart-contract/node_modules/@openzeppelin/upgrades-core/src/storage/index.ts:35:11)
at deployImpl (/Users/naveensharma/OZSmartContractWorkshop/MY-POC/upgradeable-smart-contract/node_modules/@openzeppelin/hardhat-upgrades/src/utils/deploy-impl.ts:113:31)
at Proxy.upgradeProxy (/Users/naveensharma/OZSmartContractWorkshop/MY-POC/upgradeable-smart-contract/node_modules/@openzeppelin/hardhat-upgrades/src/upgrade-proxy.ts:25:32)
at main (/Users/naveensharma/OZSmartContractWorkshop/MY-POC/upgradeable-smart-contract/scripts/upgrade_contract.js:8:5)