On Ethereum Goerli, using web3.php, sending a raw Transaction, I get “Transaction Error: invalid sender”

yes, I know that Goerli is being deprecated, but it still works on Quicknode. I also know the world is moving to js rpc, but php works too.

This is my transaction data:
transdata:

Array(
    [from] => 0x9f49b1261cf9de806908bc1f35b2c0763727acc8
    [to] => 0xB1B019a98E97B28134A268ed9f47620D63225980
    [value] => 0x16345785d8a0000
    [gas] => 0x22
    [gasPrice] => 0x1d
    [nonce] => 0x0
    [chainId] => 2
)

To avoid confusion:
1 – The gasPrice is obtained on a call to the node
2 – Nonce is also obtained on a call to the node
3 – The following function is used to determine the gas price limit:

function calculateGasPriceLimit($baseGasPrice, $multiplier = 1.2, $minimumLimit = 10){
    // Apply a multiplier to the base gas price
    $gasPriceLimit = bcmul($baseGasPrice, $multiplier);
    
    // Ensure a minimum gas price limit to avoid setting it too low
    $gasPriceLimit = max($gasPriceLimit, $minimumLimit);
    
    return $gasPriceLimit;
}

This is the serialized_trans: 0xf865801d2294B1B019a98E97B28134A268ed9f47620D6322598088016345785d8a00008027a01388dc0a117357ae6a9ee73c6304960c73936315d579c3d543ea83db5bd453e5a07e8fd1f6958936f367653a471cd35012c93f34577227d45aded3219cdb59fe9c

And the result of Ethereum Raw Transaction Decode on https://rawtxdecode.in/

  "chainId": "2",
  "type": "LegacyTransaction",
  "valid": true,
  "hash": "0xe1b152179da7be8b043ebeb1d636a392e5dace5983d896db5dc82f3598ca0e2d",
  "nonce": "0",
  "gasPrice": "25",
  "gasLimit": "21000",
  "from": "0x9f49B1261CF9de806908BC1F35b2C0763727ACC8",
  "to": "0xb1b019a98e97b28134a268ed9f47620d63225980",
  "v": "28",
  "r": "6eef88a779d0924d01581f3b3ea270b6de4f3b82ab743b2297e8babee46b8619",
  "s": "182671e8851802daab9b9856c9aae96fe24490384ac751f992c8d1577c813608",
  "value": "100000000000000000"

I am extremely frustrated by the lack of documentation and the poor error description on the ethereum network. Please, if someone can spot something wrong with any of this that might be able to help me solve this issue, I would greatly appreciate it.