The following issue can be reproduced on a brand new WordPress (6.3) installation with the latest versions of WooCommerce (8.0.2), WPML (4.6.5), WPML String Translation (3.2.7) and WooCommerce Multilingual & Multicurrency (5.2.0).
WPML is set up to be German by default, having English as a secondary language.
1) I'm creating a new product attribute named "XXX".
2) I head to the WooCommerce Multilingual menu (tab "Store URLs") where the base language is marked as English, even though it should be German.
3) I switch to the tab Attribute and select the "XXX" attribute.
4) On the bottom I change the base language to German.
5) The base language in the "Store URLs" tab is still marked as english.
6) In the WPML String translation a new string can now be found with the name "URL pa_xxx tax slug", which is correctly marked as German.
7) Upon further inspection of the plugin's code I noticed it tries to find the source language using the name "URL attribute slug: xxx", which does not exist and it therefore falls back to english.
8) I head to the database and override the name of the string from "URL pa_xxx tax slug" to "URL attribute slug: xxx".
9) Now the attribute is correctly marked as German and I can create the translations.
It seems the problem is no translation string is added upon creation of the product attribute. Manually setting the language of this taxonomy does add the missing entry with the correct language set, but it has a different name than the one queried from the WCML plugin.
I found a programmatically working temporary fix using the filter "wpml_get_string_language" and overriding the queried name which seems to work for now, but I would like this issue to be fixed as multiple stores are affected by it.