I'm assuming you're using Chrome with selenium.
You can see that the hover state is actually being set since the word "FACE" becomes underlined when you call hover on the element. What doesn't work is whatever event the menu is relying on isn't being generated. Without digging too far I'd guess that event is the mouseenter event because chromedriver has a known issue where it doesn't generate mouseenter or mouseleave events when moving to an element (but does generate mouseover events). If you use Firefox with selenium, instead of Chrome, you'll see that the menu works fine there.
If you need to stay on Chrome you should be able to workaround the issue with something like
el = find('.global-header__list-link', wait: 5, match: :first, text: 'FACE').hover
execute_script("
var evt = new MouseEvent('mouseenter', { bubbles: false, cancelable: true, view: window });
arguments[0].dispatchEvent(evt);
", el)