wallet – arbitrary access to already confirmed transactions

This link mentions that

"[[[[getdata]can be used to retrieve transactions, but only if they are in the memory pool or relay, arbitrary access to transactions in the chain is not allowed … "

But can not an SPV node perform the following operations to have arbitrary access to a T transaction (I assume that the SPV node knows the H block hash of the B block containing T):

  1. set a bloom filter using filter charge for T at a complete node
  2. to send getdata query of type MSG_FILTERED_BLOCK and hash block H
  3. then, in response, the complete node will generate two messages for the SPV node: first, a control block of B; and secondly, the transaction T (as mentioned here and here)

Does this mechanism not give arbitrary access to transactions?