I typed adb push filename.zip /sdcard/ in the terminal on my Ubuntu pc and when finished I look in TWRP on my phone and find the .zip file in a folder named ‘sdcard’. Should it be like this? I’m not sure if it should be at the root of a folder named ‘sdcard’ or at the root of the actual removable sd card storage. My sd card has a strange name that I didn’t set myself, not ‘sdcard’. At its root it has about twenty folders (named boot, cache, data, dev, etc, external_sd, firmware, license, oem, root, system, and more) including ‘sdcard’ (probably just created)
The name of your sdcard (I assume you mean the name the appears when inserted to the sd-slot of a computer) has no impact on the location where it is mounted in the filesystem (/sdcard/).
The directories you see (boot, cache, …) are default directories of Android.
Also the command adb push does not create directories.
PS H:\A> adb push .\testfile /testdirectory/
adb: error: failed to copy '.\testfile' to '/testdirectory/': remote couldn't create file: Is a directory
.\testfile: 0 files pushed. 0.0 MB/s (53 bytes in 0.016s)
So your directory /sdcard/ did exist before you executed the command.