Just for completeness, there are actually many slightly different ways you can acheive what you want:
You can create a map using something like Leaflet using your background tiles and draw things on top of that directly with Leaflet (probably the easiest solution if you're not adding much extra data). See https://leafletjs.com/examples.html for info.
You can create multiple raster tile layers using different databases and using something like Leaflet display multiple layers to the client. https://www.openstreetmap.org/user/SomeoneElse/diary/47007 describes this, though I'm sure that there are other and better examples.
You can do what you suggested in the question and render your data together with OSM's data. You'll need to:
- Create a .osm file of your data, tagged with a tag that you've created
- Merge it with the OSM data
- Change your data style to render your special tags
- Load the combined data set and render it with your new style
It should be noted that the normal "switch2osm" approach is to not "to import Open Street Map shape files to database", so I wonder if you really have done that. If you really do want to follow this last option through it's probably best to take each step one at a time.