I'm not sure if this was a change in the standard behavior or if it was a typo in libcxx from the beginning. http://eel.is/c++draft/span.sub#10 says that if a count is supplied, the returned span is always of that count, never of dynamic_extent, so these tests were asserting incorrectly.
I'm not sure what to do about this as fixing the test to assert correctly (and thus make msvc++ pass) is going to make libcxx fail.