Hi @viraj124,
Welcome to the community forum
Thanks for posting here.
Your code is using Ownable
with a constructor so I assume that you are using OpenZeppelin Contracts rather than OpenZeppelin Contracts Ethereum Package.
With minimal proxies (and upgradeable contracts) we can’t use constructors and need to use Initializers (see: Limitations of Contract Upgrades. This is what OpenZeppelin Contracts Ethereum Package is setup to do. (as per the forum post you found: Ownable contract owner is always the 0 address)
You should change to OpenZeppelin Contracts Ethereum Package for use with minimal proxies.
npm i @openzeppelin/contracts-ethereum-package
If you are using OpenZeppelin Contracts Ethereum Package v3, if your factory isn’t the owner then you could run into this issue: https://github.com/OpenZeppelin/openzeppelin-contracts-ethereum-package/issues/86 and may need to use Access Control instead for ownership.