You have several opportunities to load OSM data into QGIS:
- export the current view from the website
- In QGIS, use
Vector -> Openstreetmap
to download the current map canvas or a layer extent
- Use Overpass API
- In QGIS, use
QuickOSM
plugin (with Overpass API in the background)
- In QGIS, use
Add vector layer
to load osm files gathered from step 1 to 4
- Use GDAL to load osm files from step 1 to 4 into a spatialite database
- Download extracts from Geofabrik, filter them if you want and import them into a Postgis database with osm2pgsql
All methods have their pros and cons, but only the last one will get you all elements in the way you see them on the map. Simply because this is the way the map tiles are created.
There are no fixed rules on how things have to be tagged in QGIS, and so every import method uses some most popular tagging rules. No reason to complain about it, you get what you paid for...
EDIT
One pitfall we encountered sometimes is that points and ways get lost if the nodes and ways are not delivered sorted by ID. The OSM API does not guarantee that. I'm not sure which import method takes care of that, but Geofabrik extracts are safe on that.
The only pitfall for the Postgis method is an osm2pgsql version prior to 2012, since OSM node IDs have hit the 32-bit limit. Since then, especially Windows users are lacking a stable version. The latest development on that can be followed here.