I just dealt with this. The solution is to make sure that the BROWSER environment variable is not
set, as it blocks Chromium from setting itself as the default browser. Yes, really.
I found out by running Chromium from a shell. When I clicked "Set as default", the following got printed the console:
xdg-settings: $BROWSER is set and can't be change with xdg-settings