Lastly, I've stumbled upon an error I did not expect. I redirected users inside my controller, based on some conditions. But for a strange reason, the redirects did not always work. Here is how to prevent things like that. Add a "options: no_cache" parameter to your mymodule.routing.yml to prevent the controller from being cached:
mymodule.dashboard: path: '/dashboard' defaults: _controller: '\Drupal\mymodule\Controller\Dashboard::render' _title: 'Dashboard' requirements: _role: 'authenticated' options: no_cache: 'TRUE'