Since your proxy is deployed as your custom TransparentProxy
contract, you would need to verify it manually, because its bytecode is different from what the Hardhat plugin normally deploys. See How to verify a contract on Etherscan/BscScan/PolygonScan for general info on verification.
Note: your pattern to use Ownable
within the proxy itself is not recommended, because that risks storage clash and possible function selector clashes with the implementation. See https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies. Instead, consider using OwnableUpgradeable
in your implementation instead.