Какой способ получения опыта более правильный?
В вашем вопросе отсутствует смысл. И тот и другой способ - практические, а значит оба приносят опыт. Остальное зависит от вашего восприятия. Кому-то проще ковыряться в чужом коде, кому-то интереснее в документации.
Более правильный способ - совмещать и пробовать все.
Среднее. Придумать проект исходя из тех штук которые вы хотите потыкать. Именно реальные юз кейсы. Для чего-то более углубленного можно попробовать запилить библиотеку для этой конкретной штуки (перед этим посмотрев что есть в готовых реализациях).