Ethernaut: why are there no internal transactions in some cases?

Hello,

In order to solve Telephone from Ethernaut I wrote the following:

pragma solidity ^0.8.0;

contract Telephone {

  address public owner;

  constructor() {
    owner = msg.sender;
  }

  function changeOwner(address _owner) public {
    if (tx.origin != msg.sender) {
      owner = _owner;
    }
  }
}

contract hackfone{
    Telephone t1=Telephone(0x1eC4a35FB5877514abd72de57072B710cd1C0B03);

    constructor(address _address){
t1.changeOwner(_address);
    }
}

I then intantiate the hackfone contract and the changeowner is called. Since changeOwner changes the state of the Telephone instance at 0x1eC4a35FB5877514abd72de57072B710cd1C0B03, shouldn't there be an internal transaction on the method changeOwner? There seems to be none: https://sepolia.etherscan.io/address/0x1eC4a35FB5877514abd72de57072B710cd1C0B03#internaltx

I have the same question for Token challenge. When the challenge is instantiated, we get 20 tokens on our player address, presumably by the level's smart contract calling transfer on the instance. Once again, this is nowthere to be seen (instace: https://sepolia.etherscan.io/address/0xc0F341E155E43633a192791F5A0361d1AFdD61a3)