Is it best to use oil based polyurethane on an oil based stain for a better finish? Or is a water based version ok to use?
I recommend using oil based polyurethane. I have been told and I have read stuff on this and here is the basic answer. Water based polyurethane will peel off over time. The oil based will not. So in the run oil based will indeed give you a better finish than water based, because it may peel one day. I want to add that once you add 3-4 coats of polyurethane and given time for each coat to dry. And then you are more than likely going to have a rough texture to the polyurethane. Just take some 100 grit sandpaper (or of you choice) and lightly sand it smooth.
This is slightly subjective but in general it would be better to use oil-based varnish over an oil stain. But the exact product you would be using is of vital importance, since "oil-based poly" and "waterbased poly" are not one uniform product across the market. There are most definitely better and less-good products in both categories.
For an exterior application like this a different type of oil-based varnish, spar varnish, might be the superior choice for your topcoat if the door gets a lot of direct weather exposure. Spar varnishes are made to have increased weather resistance, in part because of their great flexibility, but this comes at the cost of being very yellow so you have to be able to put up with adding a significant yellow colouring to the door. Note: if you go with a spar varnish buying it from a supplier of marine finishes will help ensure you get a quality product. Apparently spar varnishes from the home centre can be much less good.
If your door is fairly well covered however any consumer-level varnish should provide adequate protection, after all this is what they're made for. And while they are all somewhat yellowish they won't add a noticeable yellowness to the stained colour of the wood.
In case it needs to be said, if you do decide to use a waterbased finish you must ensure the oil stain is well dried before application, which may mean having to wait a few days or longer depending on some variables.