A temporary std::string is constructed, from the string literal you pass to it, for the std::string const& parameter to refer to.
As suggested in the comment, std::string owns its storage (otherwise it would be std::string_view, wouldn't it?). This observation alone, in my opinion, doesn't really tell you that the temporary std::string will not be able to steal resources from the passed argument.
The resource could be still moved, because you're passing an rvalue to sampleFun, right? No, wrong, because, as you can see here, a literal string, like "my string" in your main, is a lvalue, not an rvalue.
Oh, and even if a string literal was an rvalue, from the documentation on std::string's (well, std::basic_string's) constructor you see that there's no other constructor taking a && other then the "move constructor" (i.e. the moving version of the copy constructor, i.e. a constructor which takes the same type that it is constructing, i.e. std::string, not const char*).
Notice that since you are doing "this is your string: " + p_sVal you do want a std::string to be constructed at some point because you need std::operator+ to work. You could have sampleFunc take by const char*, but then you would have to wrap either p_sVal or the string literal in std::string{…} for + to work.