The bit of information you’re missing is that du aggregates the size of all subfolders, so when you say du /, you’re saying: “how much stuff is in / and everything under it?”
If you’re sticking with du, then you’ll need to traverse your folders, working downward until you find the culprit folder:
$ du /*
(Note which folder looks the biggest)
$ du /home/*
(If /home looks the biggest)
… and so on.
The trouble with this method however is that * won’t include folders with a . in front, which is often the culprit: .cache,  .local/share, etc. For that, you can do:
$ du /home/.*
Which should do the job I think.
If you’ve got a GUI though, things get a lot easier 'cause you have access to GNOME Disk Usage Analyzer which will draw you a fancy tree graph of your filesystem state all the way down to the smallest folder. It’s pretty handy.



“Oh hi! Here’s some code. I didn’t write it and don’t understand it, but you should totally run it on your machine.”