Return different bytecode

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";

contract MyToken is ERC20, ERC20Permit {
    constructor() ERC20("MyToken", "MTK") ERC20Permit("MyToken") {}
}

I flattened this code and add license comment in first line. And when I compiled a flattened code, I can see a deployedBytecode.
But when I request a eth_getCode to network, I can see a difference of eth_getCode result and compiled bytecode. What's the problem?

Below is my settings and inputs

let settings: any = {
                optimizer: {
                  enabled: optimize === '1',
                  runs: optimizeRunsNum,
                },
                outputSelection: {
                  '*': {
                    '*': ['evm.deployedBytecode'],
                  },
                },
              };
const input = {
                language: 'Solidity',
                sources: {
                  [contractFile.originalname]: {
                    content: sourceCode,
                  },
                },
                settings,
              };

I set same compilerVersion and optimizer configuration as well