I have an ERC-20 that is Ownable (the owner is a multisig, for some admin functions), Pausable and now I am adding a Minter role.
For that I am using AccessControl and the Minter part from ERC20PresetMinterPauser.
The problem is that AccessControl uses the Admin role (only wallets with the Admin role can grant roles).
I assume I should get rid of Ownable and Pausable and just use AccessControl (and ERC20PresetMinterPauser) for everything including having a multisig as the owner, right?
Given that you have multiple roles (Pausable and Mintable) then I would suggest you don’t need to use Ownable as well. Alternatively you could just use Ownable, but you have less granular control, e.g. you can’t just give up minting role if you only use Ownable without also giving up pausing.
I also suggest looking at: https://blog.openzeppelin.com/admin-accounts-and-multisigs/
You could use OpenZeppelin Defender for your admin proposals: https://docs.openzeppelin.com/defender/admin