In hardhat you can try setting `evmVersion` to a previous version whilst still using the latest compiler version:
```js
solidity: {
    compilers: [
      {
        version: `0.8.21`,
        settings: {
          optimizer: {
            enabled: true,
            runs: 15000
          },
          evmVersion: `paris`
        }
      },
    ],
  },
```

Polygon announced last week that they’ve just implemented PUSH0 on their zkEVM blockchain. I’ve tested the testnet and it works. zkEVM mainnet will work from 2023-09-11: [Polygon zkEVM: Dragon Fruit Upgrade (with New Opcode) Coming to Mainnet Beta][1]

Hopefully the many other blockchains will follow, as developers want to be able to use the latest version.

  [1]: https://polygon.technology/blog/polygon-zkevm-dragon-fruit-upgrade-with-new-opcode-coming-to-mainnet-beta