I think the problem is that you're using the function $f$ to represent two very different things at two different times.
When we do discrete probabilities, there is a function sometimes called a probability mass function. A typical symbol for this function is $p_X$ where $X$ is the name of a discrete random variable with the desired probability distribution. Then $p_X(x)$ is exactly the probability that $X = x.$
There can only be countably many values of $x$ where $p_X(x)$ is non-zero, and the sum of all of these non-zero values must be $1.$
For a continuous distribution, there is a function called the probability density. A typical symbol for this function is $f_Y$ where $Y$ is the name of a continuous random variable with the desired probability distribution. The value of $f_Y(y)$ is not a probability.
In order to get a probability, you have to take a definite integral of $f_Y.$
The integral over the entire real number line must be $1.$
Your idea of discretizing the probabilities along the rod is a good one; it is just in the details that you had trouble.
To begin with, let's stick to standard analysis, so the gaps between the discrete values are equal to the positive real number $\Delta s$ and not the infinitesimal $ds.$
To get the probability that $a \leq s \leq b$ we say that we have a discrete variable $X$ defined on $a,$ $a + \Delta s,$ $a + 2\Delta s,$ and so forth up to $b$ where it also is defined; $X$ may be defined at points outside the interval $[a,b]$ as well. We use $X$ as the value of $s.$
We suppose the existence of a probability mass function $p_X,$ and then we can set $P$ to the probability that $a \leq X \leq b),$
$$ P = \mathbb P(a \leq X \leq b) =
p_X(a) + p_X(a + \Delta s) + p_X(a + 2\Delta s) + \cdots + p_X(b). $$
This corresponds pretty well with a Riemann sum of a continuous variable $Y$
with probability density function $f_Y$:
$$ f_Y(a)\Delta s + f_Y(a + \Delta s)\Delta s + f_Y(a + 2\Delta s)\Delta s
+ \cdots + f_Y(b)\Delta s. $$
If you consider this very carefully you may notice that there are $n+1$ terms in this sum where a Riemann sum usually has $n$ terms, but let's gloss over this for the sake of intuition; as $n$ goes to infinity, the extra term goes to zero anyway. (If we were actually trying to use a finite Riemann sum to estimate the probability we could list the terms more carefully.)
Ignoring the extra term, we have a Riemann sum for the integral
$$ \int_a^b f_Y(s) \,ds = \mathbb P(a < Y < b). $$
The main thing to remember is, typically $f_Y(s) \neq p_X(s).$
If you want the second cut to be distributed uniformly between $0$ and $1,$
then $f_Y(s) = 1$ whenever $0 < s < 1$ and $f_Y(s) = 0$ when $s < 0$ or $s > 1.$
But if you populate this same interval with $1000$ uniformly spaced discrete points which are the only points where $p_X(s) > 0$ and you want a uniform distribution over these points, then
$p_X(s) = 1/1000$ at each of these points and $0$ everywhere else.
If we define $p_X$ and $f_Y$ this way, we find that the non-zero values of $p_X(s)$ are
$$ p_X(s) \approx f_Y(s) \Delta s $$
(only approximately equal because of that extra term, but the approximation approaches equality as $\Delta s$ goes to zero).
The factor $\Delta s$ as it approaches zero corresponds to the $ds$ in the integral.
So here's the intuition to take away from this:
the "$ds$" factor is already in the discrete probabilities that you listed.
The multiplication by $ds$ that you did put two factors of $ds$ in every term where you only want one for the integral.
Just don't do that.
Instead, let the integral correspond to a Riemann sum, each of whose terms is the probability at a particular point in your discrete distribution.
Therefore,
$$ \int_a^b f_Y(s) \,ds \approx
p_X(a) + p_X(a + \Delta s) + p_X(a + 2\Delta s) + \cdots + p_X(b)
= P $$
(not $P\,ds.$)