There are two issues here:
Firstly, you need to avoid providing an oracle for "does this user exist in the system". That means you need to provide a value whether the user exists or not. Furthermore, this value must be consistent for a given userid (otherwise the attacker asks multiple times, and if they get the same answer every time, they know the user exists). On the other hand, it must not be possible for the attacker to calculate the fake salt given the user id. This means you need to generate a secret key for each installation, and the fake salt is generated by encrypting the userid with the key (or calculating the HMAC, or similar). As noted in a comment, you also need to make sure that returning a real salt or a fake salt take the same length of time (otherwise the time taken can provide an oracle to tell whether the user exists or not).
Secondly, this is a cheap request for the attacker to issue, whereas the server is going to need to go to the database to see if the user exists, and if not, encrypt a value. You will need some mechanisms in place to avoid this being a potential DoS vector.
Final thought: I presume you are doing this, in order to offload the computational effort of hashing the password onto the client. This is fine, and in the right situations, sensible. However:
You must make sure you are using the browser to calculate the hash in native code, rather than javascript. If you don't, the attacker with a leaked database (who is probably doing the hashing in native code on multiple GPUs) just has too big a performance advantage.
In addition, you need to make sure that you do one more round of hashing on the server and then compare the result with what is in the database. If you don't, and the database ever leaks, the attacker will be able to log in as the user just by replaying the value from the DB.