In fairness to Rick, I don't know that he is "so enthusiastic" about Tangier. It's just that he knows a lot of his readers want to be able to say they've been to Africa, and Tangier has ferry service from the southern tip of Spain. If he wrote a book about Morocco, I'm sure he wouldn't recommend much (possibly not any) time in Tangier.
Definitely pick up a guide book to Morocco. I assume Lonely Planet and Rough have one. Unless you see wild differences in rating on Amazon.com (I haven't checked), I'd choose the one with the most recent publication date, if there's a significant difference.
I would definitely include Fes and Marrakech. They both have flights from Spain (and you won't have to trek to Tarifa to find them!). I'd want to spend at least 3 nights in each city. Casablanca is a modern city and there's no reason to spend any of your precious time there unless it proves to be a useful arrival or departure for you.
Let your reaction to what you read in your guidebook determine what places you want to add to Fes and Marrakech, keeping an eye on transportation options, as you probably won't move rapidly around Morocco. Many people like to make an excursion out to the desert. I have not done that. I did find Ourzazate and Taroudant interesting. The public-bus ride over the Tizi 'n Test pass (Marrakech to Taroudant) was quite something. I took that bus at least 25 years ago and can't comment on current road conditions; it may not be the safest in the world, and I certainly wouldn't make any part of the trip after dark.
It looks as if you're using Morocco as your Schengen-avoidance destination, which is fine, but you appear to be cutting the 90 days way too close and could easily end up in violation of the 90-day limit if you don't extend your time in Morocco. Remember that both your arrival days in Spain (or other Schengen country) and both your departure days count. If you go to Morocco on April 4 and return to a Schengen country on April 17, that is only 12 days outside the Schengen Zone. February has 29 days this year; March, 31; April, 30; and May 31. I don't know what "3 months and 12 days" means in terms of your final departure date from Europe. Even if your Schengen math is OK, I think you are right at the edge of getting fined substantially and banned from the Schengen Zone for years when you try to return home at the end of your trip.
Think about it: What happens if the flight to Morocco is cancelled and you have to leave Spain a day later? What happens if one of you is too sick to fly home on Schengen Day 90? (This comment from someone who was sick for several days in Ljubljana in 2015 and just made it over the Croatian border in time.)