Use a matching client
Transaction hashes are chain-scoped. If the client points to another chain, the provider returns no receipt and the function raises; an RPC error raises too, so zero rows means a receipt with no matching logs.
Use the raw overload first when the event definition or emitting contract is not yet known.