I've spent some time digging through this, an yes, you're right to say it's confusing.
I will also assume you are talking about text size, and not marker size.
Ways that work
There are two main ways I would suggest you to increase the legend size (retrieved from here):
- Scaling up the font globally using
sns.set()
. For example:
sns.set(font_scale=1.5)
# plotting code here...
- Scaling up the font locally using
sns.plotting_context()
. For example:
with sns.plotting_context("notebook", font_scale=1.5):
# plotting code here...
The problem with both approaches is that they also increase the size of other elements. So, for example, axis labels will grow alongside the legend:

Way that doesn't work
In the mentioned SO link, there's also an answer that addresses directly modifying the legend. It uses the private property _legend
of the FacetGrid
and increase the text size directly:
g = sns.relplot(x='sepal_length', y='sepal_width', hue='species', data=iris)
plt.setp(g._legend.get_texts(), fontsize=16)
This method, however, severely messes up with the formatting. From a quick glance, I think it happens because FacetGrid
calculates its size using the legend dimensions. So, altering the legend afterwards messes things up.

What to do?
From my research, it looks like there's no simple way to do what you want. You can submit an issue to the seaborn repository and maybe they will fix it (you can give a reference to your question). More hopefully, there is a way to do it and they will simply point out how.
Good luck :)