As the error message suggests, ids needs to be an array, e.g.
Do note that you're in a YML file here; it looks like you might have tried to use PHP array syntax.
Since you don't know the password, only the hash, you can't migrate it directly. (MD5 is weak, but not that weak.) The whole purpose of hashing is that the password should be unknown to anyone except the user. There are 2 solutions to this.
Reset all your users password and send a one-time-login password to them once they are migrated - as already suggested ...
Here is a simple migration for looking up a taxonomy term by name based on the text in a CSV.
For example, if you have a taxonomy called fishes, and your CSV has a column called fish, and ...
Performance is typically due to the Entity API system operations and the complexity of your migration.
First thing would be to ensure you have nothing enabled like XML Sitemap, Search API / Search indexing, Rules, and other operations that happen on node/entity save unless absolutely necessary (like Pathauto for example).
Second, try leveraging Migrate, ...