I agree that the graph is misleading in a sense that it purports to show that there are no data points in the quadrant categorically described as high leave vote %, high % of graduates. What is high and low becomes relative to the axis limits, not the actual data. While theoretically possible to have a ward with population that is 100% college educated, such ward doesn't exist. You don't need to invent data points to produce a misleading graph: a broken axis showing exaggerated change is an example that not too dissimilar to this one.
A more objective way to visualise this data would be to set the scatter plot axis limits at the max / min of the data and then divide the chart into quadrants of an equal area.
The reason I would go for the equal area of quadrants is so that the quadrants show an equivalent linear relationship between variables. The categorical descriptions of the quadrants, "high" and "low" are treated as equivalent so the areas should be as well.
If instead we want to use quadrants as another way to quantitatively describe data, we could set the quadrant borders at the average of each variable as shown in Data Visualisation with R: 100 examples (available to preview on Google Books, p283,286).
To add another analytical layer to a scatter plot visualisation, we can use colour and size of the dots. For example, colour can used to separate university towns from the rest, show voter turnout in a gradient or highlight General Election results for those wards. I'm not sure if size will be effective with so many data points, but you can potentially investigate different population bands, such as 65+, and how they are represented in the data.
To my mind there are also two important caveats worth bearing in mind when looking at this graph: first, that it counts all graduates, regardless of whether they voted in the referendum or not, and secondly, that it includes resident graduates with EU passports who couldn't vote in the referendum (assuming the source data is Census-based).