Visualize metrics as a column using Metric Visualization

Not a expert on this subject, but for the Visual Builder to show "wonky values", such as 100% when it obviously is not, I would suggest to check/try changing the Panel options > Interval from: auto -> to something else, such as 1d in case your time range is week / month level ... something to do about, is the data fetched all in same bucket or not.

Did little bit testing myself and this another Kibana forum discussion was quite helpful: https://discuss.elastic.co/t/doing-math-over-count-of-events/97278/10

I wanted to calculate percentage of call_success:failed per host, so I did following:

Aggregation: Filter Ratio
Numerator: call_success:failed
Denominator: call_success:failed call_success:ok
Metric Aggregation: count

Aggregation: Moving Average:
Metric: Filter Ratio
Model: Simple
Window Size:
Minimize:false
Predict:
Group by: Terms By: host.keyword

Panel options
Interval: 1d
Drop last bucket: Yes

Metrics-Options:
Offset series by : 1d
Drop last bucket: No

Time Range: Last 7 days

... and I think I got the percentages that I was after, both on Time Series, Metric and Markdown views on Visual Builder.

About the another option, doing the mathematical computations .. perhaps you could achieve this by Bucket Script and then just present the values in Markdown, as discussed here: https://discuss.elastic.co/t/show-column-as-percentage-of-another-column/113149/3