I think having a project for a Crowdsale extending from OpenZeppelin Contracts 2.x and a separate project for an ERC20 token extending from OpenZeppelin Contracts 3.x is an acceptable approach.
The crowdsale has a limited life, whilst the token is meant to have a long life.
For any post on tokens I suggest looking at: Points to consider when creating a fungible token (ERC20, ERC777)