The contract logs the hashed data converted to an address variable.
Why when I call input_data(data = 1), the log is different than when I do a transaction to the contract (so calling the fallback) attaching data=1 to the transaction?

The first four bytes are the function selector (hash of "input_data(bytes)"). The next 32 bytes are the offset of the start of the bytes argument. The next 32 bytes are the length of the bytes argument. And the last 32 bytes are the actual bytes themselves, padded to a length of 32 bytes.

That's msg.data. The bytes argument being hashed in input_data, on the other hand, would just be:

0x01

So it's expected that the hashes of these two things would be different.