Solidity >= 0.8.0 and ERC20 base contract gas optimizations

Hey guys is it still a good idea to extend from OpenZeppelin's ERC20 base contract when compiling with Solidity >= 0.8.0 ? OpenZeppelin contract keeps _name and _symbol as private variables (why aren't they immutable btw ?) and then exposes public methods to get the values but with 0.8.0 we get automatic getter functions for public variables correct? so by declaring them manually as public and not extending ERC20 we are making our contract size smaller. Or will the compiler just optimize things like this automatically?