Some small comments to the answers already given.
df should strictly be a DataFrame here (parentindices always refers to source data frame).
This solution answers the question directly (as you ask if and how subset can produce the indices),
however in general subset is designed to be used in piping, so it does not normally produce a bare vector of indices and what @pdeffebach suggests (i.e. to add a column with a condition and then groupby it) is preferable assuming that you can afford to add an additional column to a data frame (which usually should be OK).
Now regarding the difference between ByRow(!isequal(true)) and ByRow(!) observe that subset, if skipmissing=true would treat missing as false, but just negating missing with ! is still missing, so it would be dropped twice. To show what I mean consider:
julia> .!([true, false, missing])
3-element Vector{Union{Missing, Bool}}:
false
true
missing
julia> (!isequal(true)).([true, false, missing])
3-element BitVector:
0
1
1