I found the cause of creaky seat on my 2018 legacy premium and the noise is completely gone now.
I took a picture a bottom of seat with highest seat height.
https://imgur.com/a/ihhfXzi
There is a rubber cable clip on the seat frame (Red squared part on the above picture). I found the rubber part was out of the frame a little bit, and it made exact same creaky noise when I rubbed the rubber. After I lightly applied PTFE spray to the rubber and seat frame, the noise was gone. I also applied PTFE spray to the linkage just in case.