The stock weather app has a widget in the notification centre, so it's enabled at all times allowing it to display immediately you pull down. I don't think you can disable it in the widget which I guess is why they felt it didn't need the extra location option.I am using Accuweather. It also has a notification widget. It checks location when swiping down notifications so that your weather is refreshed when you need it. Does the stock weather app constantly piggyback on other location checks so weather is always up to date? I don't understand the distinction. I had a warning this morning saying my 6s+ had been using a lot of battery on location services for the weather app, so I disabled it.
I'm with you to be honest, it should be mandatory for every app that requests location to give you an option to enable it only when the app is active.