All of the above! I admit I didn't do much research on the matter; I'm basically just using a routine I found on devrs.com. It looks a lot like yours and is probably an LFSR. I'm using uninitialized memory as a seed for PRNG, mixing it with DIV and also calling it every time there's player input: https://github.com/tobiasvl/pocket-patrick/blob/master/src/patrick.asm#L1252 (the stuff afterwards is just mapping the random byte from $00-$FF to 0-28). Don't judge my newbie code too much, haha.
I wanted to make the game playable in the browser, but I actually couldn't find a JS emulator that emulated random uninitialized memory! I didn't have time to look very closely, but it looked to me as all of them just initialized with $00. It looks like you're using GameboyOnline? Does it actually have random memory? If so I screwed up, hehe.