Stir together marinade ingredients until well combined. Place flat steaks in a resealable plastic bag, pour marinade over top making sure that all surfaces are well coated. Seal bag and place into refrigerator for 4-8 hours.
Combine topping ingredients in a small bowl. Cover with plastic wrap and place into refrigerator.
In a large skillet, fry bacon until crisp. Spoon out onto a paper towel lined plate. Add sliced onion to bacon grease and saute over medium to medium high heat for a few minutes. Season with salt. Add broth to pan along with cooked bacon and let mixture come to a high simmer. Reduce heat to medium-low, cover pan and cook for 8 minutes or until broth has reduced and onions are brown and tender. Remove from heat, cover, and keep warm. Briefly reheat on the stove top if needed.
Preheat grill for medium high heat.
Remove steaks from bag and place onto the grill. Carefully pour some of the remaining marinade over top. Discard the rest. Cook for 7-9 minutes per side, depending on thickness and type of steak being used. Once cooked to desired doneness, remove from heat and place onto a clean cutting board.
Cut steak into thin slices and assemble sandwiches with cooked onions and sandwich topping. Enjoy!