Yes, this is thought to be so.
The point of PBKDF2, scrypt & bcrypt is to produce the same output on the same input, otherwise they would be useless as key derivation function (KDF).
I personally prefer Argon2 since you can tweak it a bit more, it makes a better usage of RAM and computing time, etc.
As explained on Wikipedia, PBKDF2 is not the best because it can be implemented on ASIC devices, which makes brute-force attacks using ASICs or even GPUs easier than for certain other KDFs.
Using a fixed salt for all entries just allows a dictionary attack against your specific application to be mounted, although this should still be somewhat hindered by the computational cost it would imply. That's not too worrying as long as you've generated the salt yourself and are not using a generic value (such as the empty one). But in general we never recommend using a fixed salt.
Instead, note that the good practice would be either to derive the salt in a deterministic way (from the username, for example), or to store the salt in the database next to the password (so that each password has a different salt.)