As long as you use any cache plugins, the plugins will cache everything, including the currency cookies and the currency switch will show your chosen currency only after cache is deleted from plugin.
Exclude these cookies from being cached for the widget to work:
my_custom_curr my_custom_curr_pos my_custom_curr_symbol
NOTE: You can set to exclude all these cookies from your caching system (applies to multi currency, multi-measurement widgets)
my_custom_curr my_custom_curr_pos my_custom_curr_symbol my_measure_unit
EX: How to exclude from Fastest Cache plugin
Ex: How to exclude from WP Rocket plugin