Why are people loading the app so close to 8? I think that's just paranoia to think that makes a difference. It's doing more talk back and forth to the servers at loading, and if everyone is doing that, it's going to be slower and could cost you a BG.
It's not opening, so much as resuming. At least in my case I suspended the app, did not kill it...
The reason for all of these various approaches is simply to get the app to re-check if it can join boarding groups as soon as possible once the time has past. Resuming an app probably has it going to update some data. I know for sure that just going in and out of the Find Out More screen does not refresh the data with every back and forth. This is also why using "My Status" on the Find Out More screen works for a lot of people, because that seems to also trigger a refresh and offers the same potentially red button - so if you went in a little early My Status is a good second attempt.
I totally agree it's not a great idea to be loading the app from scratch right at BG time (where you see the splash screen for a while and then the fireworks). At the time BG's are being released, that part is extra slow and you could be waiting 20-30 seconds or more for the app to load from scratch.
I do that like 15 mins ahead. Red button always comes up. I really don't do anything special. I still say it's the PING to the server that matters more than having super speed. Plus I've had multiple phone types (older iphone 5s and my newer Xs Max) and both seem to work just fine.
The latency to the server is important also, but not as important as just getting the app into a state where it know it's OK to let you join a boarding group. If you have found an approach that works for you every time, that is great! For me the only consistent results I had in the park, was having the app suspended, re-opening at a second until the time they were issuing boarding groups.