Question about @rtransform?

Why doesn’t this code work?

julia> df
4×3 DataFrame
 Row │ y      x1     x2
     │ Int64  Int64  Int64
─────┼─────────────────────
   1 │     2    -97   -999
   2 │     6      2      3
   3 │     3      5   -999
   4 │     5    -97      0

julia> @rtransform df $([:x1, :x2] .=> (x -> x ∈ [-97, -999] ? missing : x) .=> [:x1, :x2])
4×3 DataFrame
 Row │ y      x1     x2
     │ Int64  Int64  Int64
─────┼─────────────────────
   1 │     2    -97   -999
   2 │     6      2      3
   3 │     3      5   -999
   4 │     5    -97      0

what I want is

 Row │ y      x1       x2
     │ Int64  Int64?   Int64?
─────┼─────────────────────────
   1 │     2  missing  missing
   2 │     6        2        3
   3 │     3        5  missing
   4 │     5  missing        0

@transform works, why does not @rtransform work?

@transform df $([:x1, :x2] .=> ByRow(x -> x ∈ [-97, -999] ? missing : x) .=> [:x1, :x2])
4×3 DataFrame
 Row │ y      x1       x2
     │ Int64  Int64?   Int64?
─────┼─────────────────────────
   1 │     2  missing  missing
   2 │     6        2        3
   3 │     3        5  missing
   4 │     5  missing        0