Does Electrum not work like BIP39 in the sense that you start with a random seed (ie. very large random number)... and then convert that seed to the mnemonic phrase? As opposed to generating a mnemonic phrase and then going from that to the seed?
yes, it is the same but with an additional step before converting the seed to mnemonic. here are the steps:
1. generate a random entropy/seed (which is random 132 bits to get 12 words)
2. convert the entropy to a mnemonic
3. compute HMACSHA512 of 2 using the key = "Seed version"
4. check if the initial 8-bit or 12-bits match the seed version you are trying to create. for example if you want a SegWit wallet it has to be 0x100 or 0b00010000_0000
5. if 4 failed then increment the entropy by 1 and restart at step 2 otherwise return the result
so basically each time you create an Electrum mnemonic you are using brute force to find one that gives you a certain initial "string", similar to what Vanity generators do!