A transação começa com SET TRANSACTION, mas a alocação do transaction_id é atrasada até o primeiro DML (DML real - na minha experiência não é uma instrução SELECT)
A mesma fonte diz...
Faz sentido para mim, não há motivo para confirmar ou reverter um SELECT.