I'm trying to download whole albums from Soundcloud using yt-dlp but they come without the metadata (artist, album, year) even when used with --embed-metadata.
I've tried searching but all the posts I can find talk about Youtube videos' metadata.
When you refer to the metadata are you taking about the audio file and it's id3 tags? These are usually either served as is from the original uploaded file or normalized. But there is no guarantee they are the same as what's in Soundcloud's title, genre, etc.
Then they are normalizing it by removing that data. You will need to use a script that is designed to capture the file and the meta at the same time. This means you need api or scraping instead of just pulling the file.