eth_estimateGas EIP-1559 compliance

data: "0x23b872dd00000000000000000000000014d0f2793ca83e5fdce027e055c13e1c05d0ca1f000000000000000000000000ecec39831aa330c9c65655d260aeed392a20692ec4c836912042239e1955bbfe112b13b09e25abd76a1e76d9ab2ed2978cbbbf32"
from: "0x14d0f2793cA83E5FDcE027E055C13E1C05D0Ca1F"
gas: 30000000
maxFeePerGas: "0x22ecb25c00"
maxPriorityFeePerGas: "0xaef80e2f"
to: "0xc6469b9893ae0664ac74337850c4f2a66cfea710"
value: "0x0"

Returned error: gas required exceeds allowance (66666)

same result if gas field is omitted.

The only successfull result if EIP-1559 fields are removed completely:

data: "0x23b872dd00000000000000000000000014d0f2793ca83e5fdce027e055c13e1c05d0ca1f000000000000000000000000ecec39831aa330c9c65655d260aeed392a20692ec4c836912042239e1955bbfe112b13b09e25abd76a1e76d9ab2ed2978cbbbf32"
from: "0x14d0f2793cA83E5FDcE027E055C13E1C05D0Ca1F"
to: "0xc6469b9893ae0664ac74337850c4f2a66cfea710"
value: "0x0"

https://hackmd.io/@timbeiko/1559-json-rpc states that maxFeePerGas and maxPriorityFeePerGas or gasPrice fields are mandatory from now on: " Either gasPrice or maxFeePerGas and maxPriorityFeePerGas are now required."

What is the right way to call eth_estimateGas after the EIP-1559 actually?

The strange thing is that the first form works OK on the ropsten and rinkeby networks, but fails on the mainnet.