Posted this after hours of frustration but found the answer shortly after of course. This post seems to solve it.
Kivy: self.minimum_height not working for widget inside ScrollView
The main issue is that in addition to setting the grid inside the scroll view to self.minimum_height I had to explicitly the height of its children. Be great if I could do this based on the individual items but work on that another day. Not a perfect solution but workable for now.