Does "Background App Refresh" only refresh data or does it also allow the app to update in background?
Background app refreshing is just checking for new content and updating it in the app while the app is running in the background. I've never heard of an app actually updating itself and calling it a background refresh, and if it did that would certainly be a case of the developers mistaking the meaning of 'background refresh'.

Automatic updating is usually a separate setting (either in the app's preferences or the app store, depending upon which app you are talking about).