I managed to find a solution to this, not the prettiest code, but gets the job done:
cover_layer_names = ['name1','name2'] # add layer names here
for CV in cover_layer_names:
cover_layer = QgsProject.instance().mapLayersByName(CV)
projectInstance = QgsProject.instance()
layoutmanager = projectInstance.layoutManager()
layout = ...
I decided to project the Extent coordinates to Web Mercator. This solved the "stretched" problem I was having. It appears the same issue you are having.
const bounds = map....