You are fine with the shortened IPv6 address - it should work out of the box.
All of them are valid and the same address:
2041:0:140F::875B:131B
2041:0000:140F::875B:131B
2041:0:140F:0:0:0:875B:131B
2041:0000:140F:0000:0000:0000:875B:131B
If no prefix-length is given, /128 is assumed - your entry: ip6:2041:0000:140F::875B:131B, will be interpreted as: ip6:2041:0:140F::875B:131B/128
You can use a double colon to replace many 0 (zero) blocks in an IPv6-address - but it can only used once, so this address would be invalid: 2041::140F::875B:131B
Your SPF looks fine and you are using ~all, so no message should be rejected based on the SPF-Check.
I do not think that your issues with Outlook/Hotmail are related to your IPv6 change