I'd recommend bimmercode anyways to turn off annoying start-up warnings! I have the veepeak bluetooth adapter, which works okay, but takes forever to read the system and apply coding via bimmercode. Recently purchased this ethernet ODB adapter and a lightning to ethernet adapter (both on bimmercodes list of supported adapters) and it's almost instant readings/coding (plus supports some newer BMW vehicles like my partners X5).
https://www.amazon.com/dp/B07V3C47YD?psc=1&ref=ppx_yo2ov_dt_b_product_details
Out of curiosity - How are the bavsound ghost subs? Did you have base audio or harmon-kardon?
I used the Bavsound speaker upgrade in my i3 with base audio and it was night and day. My SE has HK system, which is decent, but I'd like a little more from the subs. I had put a smaller powered sub in the i3, but with space constraints in the SE I'm not sure i'd want to do that.