While technically true, I think the pointer will remain valid even outside the new procedure as the actual target is unlikely to move after leaving the procedure. To move the allocatable outside of new and keep the pointer valid the target attribute is required.
But sure, it can become an actual issue, therefore I try to avoid pointer components in derived types.