As it was pointed out by @eurojam, you can use "SAGA:Polygon self-intersection Algorithm under processing tools"; but in a PyQGIS script for including only required parameter options and to get desired layer.
For testing above approach, I created a single shapefile layer with overlapping features, similar to your shapefile, where it is not showing intersections by using transparency options:
PyQGIS script ran at Pyton Console of QGIS 3.4 it is as follow:
polys = QgsVectorLayer("/home/zeito/pyqgis_data/overlapped_features.shp","self_intersections","ogr")
output = "/home/zeito/pyqgis_data/intersection.shp"
After running it, resulting layer can be observed at below image:
It can be also observed that it was create a new field where it is recorded all nine single features or self intersections.