For a school, I'd like to add custom fields to users, such as department, curriculum, date & place of birth, education, phone number, social links.... How can I accomplish this? I see there are some plugins to create user metas however I'm not sure how reliable/supported they are....
ACF is a very good option, it has specific options to create user fields. There are tons of tutorials and practical examples out there, just google it and you will find them. It is one of the most popular WP plugins, so don't be afraid of compatibility problems, it's well maintained.
You can check its documentation for practical examples about getting it work.
Anyway, if you want to accomplish it coding by yourself, you should read about add_user_meta function.