I like the suggestions provided by Cody Benkelman , but I also think this may require a substantial amount of time. However, if you want to obtain a high level of detail and model 1940 to perfection, any method you choose will require a lot of time. Think about canopy as Cody already mentioned or a river that may have changed its course (or was turned into a canal) or a building that no longer existed which height needs to be modeled for the DSM in 1940.
To elaborate a bit about the methods and tool you could use to "filter" buildings and to show some deficiencies of the method I have simulated a small example:
Let's say that the image below shows the 2017 DSM (I used a small part of open AHN3 data from the Netherlands with 0.5m resolution):
The image below shows the 2017 DTM of the same area:
From another open dataset (BAG) I have my building classified to show which existed in 1940 (green) and which ones were constructed after 1940 (red) and need to be filtered:
In this case you can use the Raster Calculator to apply a formula that will replace the DSM2017 values by the DTM2017 when a building did not exist in 1940 (red buildings):
When you look at the result in detail you will see things like this:
Pixels near to the building footprints will have high values, yet those should have been removed (not to mention the canopy that will have likely changed over the years). In order to do that you can Expand the buildings to enlarge the areas to be altered (in the example below 0 and 1 values represent the buildings):
The result is a raster where the building footprints have been expanded:
If we repeat the raster calculation:
The result is this:
A bit better, but still not what is very realistic (mainly due to canopy). We could also create a polygon that represents the area that has been changed and set the entire area to the DTM value:
In this case the formula will be simpler("newarea" is a raster created from the polygon area):
The result will be like this:
If you have to include elements that existed in 1940 and no longer are in the DSM data, you will have to model them and include them in the resulting raster.
Maybe you can show a screen capture of the data you have that represents the situation in 1940 to see what you are facing...