I want to hash a multiset to a point on the elliptic curve $y^2 = x^3 + 3$ over a finite field of some 254-bit prime order, where $P = 3 \pmod 4$. Moreover, I want this hash to be incremental, in that the hash of the union of the multisets should be the same as the elliptic curve group sum of the hashes of each multiset.
The basic strategy for achieving this is to hash elements of a multiset using some hash function into the elliptic curve group, and then compose the multiset hash using group operations.
There is an elliptic curve multiset hash in the literature, but it relies on a deterministic Shallue-Woestijne encoding of field elements into EC group elements. In general, there are a number of deterministic encodings of field elements for elliptic curves which are "safe" assuming the hash function used for the elements of the multiset is a random oracle, but they all either apply to curves over fields with characteristic $2$ or $3$, or require the curve equation $y^2 = x^3 + ax + b$ to have $a \neq 0$ (I was looking at this paper).
I'm also can't just take a generator $g$ in the EC and produce $\operatorname{hash}(elem) \cdot g$ as the hash of {elem}, as a generalized birthday problem may be employed to find collisions between multisets (assume the inputs to the hash are public).
My question is how safe against multiset collisions is hashing {elem} by just setting $x = \operatorname{hash}(elem)$, and incrementing $x$ until $x^3 + 3$ is a square? SW encoding was used in the paper for ECMH mentioned earlier, but if timing/determinism isn't an issue, can this simpler approach be used instead? This approach is called MapToGroup in this paper.
I also found a multiset hash similar to what is described in the post here, with $b = 7$ and some $256$-bit prime field.